@@ -49,23 +49,43 @@ public static function fromReflection(GenericReflection $reflection, string $nam
4949            $ columns$ columngetName ()] = $ column
5050        }
5151        // set primary key 
52-         $ columnNames$ reflectiongetTablePrimaryKeys ($ name
53-         if  (count ($ columnNames1 ) {
54-             $ columnName$ columnNames0 ];
55-             if  (isset ($ columns$ columnName
56-                 $ pk$ columns$ columnName
57-                 $ pksetPk (true );
52+         $ columnNamefalse ;
53+         if  ($ type'view ' ) {
54+             $ columnName'id ' ;
55+         } else  {
56+             $ columnNames$ reflectiongetTablePrimaryKeys ($ name
57+             if  (count ($ columnNames1 ) {
58+                 $ columnName$ columnNames0 ];
5859            }
5960        }
61+         if  ($ columnNameisset ($ columns$ columnName
62+             $ pk$ columns$ columnName
63+             $ pksetPk (true );
64+         }
6065        // set foreign keys 
61-         $ fks$ reflectiongetTableForeignKeys ($ name
62-         foreach  ($ fksas  $ columnName$ table
63-             $ columns$ columnNamesetFk ($ table
66+         if  ($ type'view ' ) {
67+             $ tables$ reflectiongetTables ();
68+             foreach  ($ columnsas  $ columnName$ column
69+                 if  (substr ($ columnName3 ) == '_id ' ) {
70+                     foreach  ($ tablesas  $ table
71+                         $ tableName$ table'TABLE_NAME ' ];
72+                         $ suffix$ tableName'_id ' ;
73+                         if  (substr ($ columnName1  * strlen ($ suffix$ suffix
74+                             $ columnsetFk ($ tableName
75+                         }
76+                     }
77+                 }
78+             }
79+         } else  {
80+             $ fks$ reflectiongetTableForeignKeys ($ name
81+             foreach  ($ fksas  $ columnName$ table
82+                 $ columns$ columnNamesetFk ($ table
83+             }
6484        }
6585        return  new  ReflectedTable ($ name$ typearray_values ($ columns
6686    }
6787
68-     public  static  function  fromJson (/* object */ $ jsonReflectedTable 
88+     public  static  function  fromJson (  /* object */ $ jsonReflectedTable 
6989    {
7090        $ name$ jsonname ;
7191        $ typeisset ($ jsontype ) ? $ jsontype  : 'table ' ;
0 commit comments