Laravel показывает в таблице вложенные категории с parent_id

#laravel #nested

#laravel #вложенные

Вопрос:

У меня есть таблица категорий (id, category_name, parent_id) со следующими данными.

id-category_name-parent_id
1-Электроника-NULL
2-Мобильные телефоны-
13-Умные часы-
14-Ноутбуки-
15-Аккумуляторы-4

В контроллере извлекаются все категории, для которых parent_id равно NULL

 public function index()
{
    $categories = Category::whereNull('parent_id')->get();
    return view('catalogs.categories.v2.index',compact('categories'));
}
 

В index.blade.php Я попробовал кое-что, используя иерархию treeview

 <tbody>
@foreach($categories as $category)
    <tr>
          <td></td>
          <td>{{ $category->category_name }}</td>
          <td></td>
    </tr>
    <tr>
          <td></td>
          <td>
               {{ $category->category_name }}
               @if(count($category->childs))
                   @include('catalogs.categories.v2.manageChild',['childs' => $category->childs])
               @endif
          </td>
          <td>{{$category->childs_count()  }}</td>
          <th></th>
   </tr>
@endforeach
</tbody>

@foreach($childs as $child)
  >> {{ $child->category_name }}</span>
 @if(count($child->childs))
    @include('catalogs.categories.v2.manageChild',['childs' => $child->childs])
 @endif
@endforeach
 

Теперь мой вывод в моей таблице в представлении выглядит следующим образом

Название категории
Электроника
Электроника >> Мобильные телефоны >> Умные часы >> Аккумулятор >> Ноутбуки

Я хочу создать что-то вроде
названия категории
Электроника
Электроника >> Мобильные телефоны
Электроника >> Умные часы
Электроника >> Ноутбуки >> Аккумулятор

Может кто-нибудь, как это исправить?

Ответ №1:

В вашем случае вы можете представить свои категории как узлы, а отношения между тем — как ребра

таким образом, для углубленного поиска сыновей каждой категории вам необходимо использовать алгоритмы поиска по графу, такие как DFS,

по этой ссылке вы могли бы лучше узнать о DFS: DFS В ЦЕЛОМ

показать пример для аналогичной проблемы, решаемой В DFS