我在蛋糕3中尝试了很多模型关联。只有一个表格菜单,它由菜单和子菜单组成。这里我想将父菜单与其子菜单绑定(bind),但我还没有成功捕获它。
下面我写了代码并附上了屏幕截图, 谢谢。
$this->hasMany('Menus', [
'className' => 'Menus',
'foreignKey' => 'parent_id',
]);
这是菜单模型中的绑定(bind)
$getListOfAllParentMenus = $this->Menus->find('all')->where(['Menus.parent_id' => 0])->contain('Menus')->order(['Menus.id DESC'])->toArray();
这是 Controller 代码。
谢谢。
最佳答案
您应该更改关联模型的名称,因为您不能包含在同一模型上。将菜单更改为子菜单。
$this->hasMany('SubMenus', [
'className' => 'Menus',
'foreignKey' => 'parent_id',
]);
$getListOfAllParentMenus = $this->Menus->find('all')
->where(['Menus.parent_id' => 0])
->contain('SubMenus')
->order(['Menus.id DESC'])
->toArray();
关于php - cakephp 3.2 中同一张表上的模型关联(用于菜单和子菜单概念),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38996194/