Как получить вложенные глубокие отношения с массивом в Laravel (Ситуация немного отличается от предложенных автоматически ответов) - PullRequest
0 голосов
/ 17 января 2019

Мне нужно выбрать и показать многоуровневые категории в окне выбора.Итак, у меня есть таблица с именем

Categories

id parent_id name

Я получаю коллекцию в виде массива, как это

 $categories = App\Category::where('parent_id','0')->with('children')->get()->toArray();

children- я определил отношения в Model следующим образом -

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

Так что в моем наборе результатов я получаю только данные об отношениях одного уровня ... Если я хочу более одного уровня, мне нужно что-то сделатьвот так -

 $categories = App\Category::where('parent_id','0')->with('children.children')->get()->toArray();

Итак, если написать 2 раза children, это даст мне желаемый результат, но что, если у меня больше 2 или больше?

Как мне получить эту иерархию?

...