Laravel рекурсивные отношения не работают - PullRequest
1 голос
/ 14 июля 2020

У меня следующая структура таблицы:

Categories
id | title    | parent_id | order | active
1    example    null        1       1
2    example    1           null    1
3    example    2           null    1

Мне нужно получить все дочерние категории в одной коллекции, поэтому у меня есть две функции для этого:

public function children()
{
    return $this->hasMany('App\Category', 'parent_id')
        ->where('active', 1);
}
public function childrenRecursive()
{
    return $this->children()->with('childrenRecursive');
}

Я запускаю Category::find(1)->childrenRecursive и должен получить все дочерние категории, но я получаю только вложенные категории 1 уровня. В чем проблема?

PS Laravel 6.18.22

1 Ответ

0 голосов
/ 14 июля 2020

этот код должен быть полезным:

    Category::where('id', 1)->with('childrenRecursive')->get();

или

    Category::where(['active'=> 1, 'parent_id' => null])->with('childrenRecursive')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...