0

假设我有一个名为categories的表,它在 CakePHP 3 应用程序中使用 Tree Behavior。如果给我一个 Category id,是否有允许我检查 Category 是否是父 Category 或函数来获取节点的父 Category 而无需执行多个查找查询的功能?

我在网上找不到任何东西。

谢谢你的帮助

4

2 回答 2

1

TreeBehavior 使用parent_id字段,因此您可以准备名为ParentCategories和的关系ChildrenCategories

$this->belongsTo('ParentCategories', [
    'className' => 'Categories',
    'foreignKey' => 'parent_id',
]);

$this->hasMany('ChildrenCategories', [
    'className' => 'Categories',
    'foreignKey' => 'parent_id',
]);
于 2018-09-07T23:14:46.480 回答
0

根据Cakephp 3

已经有一个路径查找器可用于查找特定节点/id 的完整路径。使用它,您可以获得父节点,如下所示:

$completePath = $this->Model->find('path', ['for' => $category_id])->first();
$parentNode = $completePath['id']; 

进一步参考:https ://github.com/cakephp/cakephp/issues/12539

希望这会有所帮助!

于 2018-09-12T06:55:51.333 回答