@@ -335,25 +335,25 @@ protected function findForeignKeys($table)
335
335
$ columnsTableName = $ this ->quoteTableName ($ columnsTableName );
336
336
337
337
$ sql = <<<SQL
338
- SELECT pt4 .column_name AS "fk_column_name ", ft2 .table_name AS "uq_table_name", ft4 .column_name AS "uq_column_name "
338
+ SELECT pc .column_name AS "uq_column_name ", pt .table_name AS "uq_table_name", fc .column_name AS "fk_column_name "
339
339
FROM {$ fkeyTableName } AS t1
340
- INNER JOIN {$ tablesTableName } AS pt2
341
- ON pt2 .table_id = t1.primary_table_id
342
- INNER JOIN {$ indexTableName } AS pt3
343
- ON pt3 .table_id = t1.primary_table_id
344
- AND pt3 .index_id = t1.primary_index_id
345
- INNER JOIN {$ columnsTableName } AS pt4
346
- ON pt4 .table_id = t1.primary_table_id
347
- AND pt4 .column_id = pt3 .column_id
348
- INNER JOIN {$ tablesTableName } AS ft2
349
- ON ft2 .table_id = t1.foreign_table_id
350
- INNER JOIN {$ indexTableName } AS ft3
351
- ON ft3 .table_id = t1.foreign_table_id
352
- AND ft3 .index_id = t1.foreign_index_id
353
- INNER JOIN {$ columnsTableName } AS ft4
354
- ON ft4 .table_id = t1.foreign_table_id
355
- AND ft4 .column_id = pt3 .column_id
356
- WHERE pt2 .table_name = :tableName
340
+ INNER JOIN {$ tablesTableName } AS pt
341
+ ON pt .table_id = t1.primary_table_id
342
+ INNER JOIN {$ indexTableName } AS pi
343
+ ON pi .table_id = t1.primary_table_id
344
+ AND pi .index_id = t1.primary_index_id
345
+ INNER JOIN {$ columnsTableName } AS pc
346
+ ON pc .table_id = t1.primary_table_id
347
+ AND pc .column_id = pi .column_id
348
+ INNER JOIN {$ tablesTableName } AS ft
349
+ ON ft .table_id = t1.foreign_table_id
350
+ INNER JOIN {$ indexTableName } AS fi
351
+ ON fi .table_id = t1.foreign_table_id
352
+ AND fi .index_id = t1.foreign_index_id
353
+ INNER JOIN {$ columnsTableName } AS fc
354
+ ON fc .table_id = t1.foreign_table_id
355
+ AND fc .column_id = fi .column_id
356
+ WHERE ft .table_name = :tableName
357
357
SQL ;
358
358
359
359
$ rows = $ this ->db ->createCommand ($ sql , [
0 commit comments