Mysql
 sql >> Datenbank >  >> RDS >> Mysql

CakePHP 3 - Verknüpfung der DB-Tabelle mit sich selbst

Sie sollten unterschiedliche Aliase für die 2 Assoziationen verwenden.

$this->belongsTo('ForumCategories', [
    'foreignKey' => 'forum_category_id'
]);
$this->hasMany('ForumChildCategories', [
    'className' => 'ForumCategories',
    'foreignKey' => 'forum_category_id'
]);

Durch diesen $this->ForumCategories->find() gibt Ihnen die Eltern und $this->ForumChilfCategories->find() die Kinder.

Andernfalls – falls dies möglich ist – ändern Sie Ihr Datenbankschema und verwenden Sie das Baumverhalten.