我是一个 cakephp 新手。我设计了一个 mysql 数据库,其中包含一个 InnoDB 表 CompetitionRegions 和一个引用该表本身的外键。外键约束已到位。
cake bake 无法为此自动生成正确的代码,因为自联接表别名与第一个别名相同:
SQLSTATE [42000]:语法错误或访问冲突:1066 不是唯一的表/别名:'CompetitionRegions'
SELECT CompetitionRegions.id AS `CompetitionRegions__id`, CompetitionRegions.name AS `CompetitionRegions__name`, CompetitionRegions.parent_competition_region_id AS `CompetitionRegions__parent_competition_region_id` FROM competition_regions CompetitionRegions LEFT JOIN competition_regions CompetitionRegions ON CompetitionRegions.id = (CompetitionRegions.parent_competition_region_id) LIMIT 20 OFFSET 0
我该如何解决这个问题?
CompetitionRegionsTable::initialize 类包含以下内容:
$this->belongsTo('CompetitionRegions', [
'foreignKey' => 'parent_competition_region_id'
]);
有没有办法可以指定用于自联接子查询的别名?