Получить родительский узел в Tree cakephp 3 - PullRequest
0 голосов
/ 08 сентября 2018

скажем, у меня есть таблица с именем category , которая использует поведение дерева в приложении CakePHP 3. Если мне дается идентификатор категории, существуют ли функции, позволяющие мне проверить, является ли категория родительской категорией или функциями для получения родительской категории узла без необходимости выполнять несколько запросов поиска?

Я не смог ничего найти в сети.

Спасибо за любую помощь

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Согласно Cakephp 3

уже есть Путь искатель, чтобы найти полный путь для определенного узла / идентификатора. Используя это, вы можете получить родительский узел, как показано ниже:

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

Дополнительная ссылка: https://github.com/cakephp/cakephp/issues/12539

Надеюсь, это поможет!

0 голосов
/ 08 сентября 2018

TreeBehavior использует поле parent_id, поэтому Вы можете подготовить отношения с именами ParentCategories и ChildrenCategories.

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

$this->hasMany('ChildrenCategories', [
    'className' => 'Categories',
    'foreignKey' => 'parent_id',
]);
...