Я хотел показать категории и продукты, так как в древовидной форме означает, что последующие продукты будут показаны под категорией и так далее. Чтобы создать это, я создал этот скрипт, который показывает только категории, но не отображает продукты под ним. Ниже приведен мой скрипт для контроллера:
$data['sitecategories'] = $this->generateSiteCategorySubcategory(-1);
В том же контроллере я создал функцию:
public function generateSiteCategorySubcategory($startAt) {
if ($children = Sitecategory::getCategorySubcategory($startAt)) {
$thisLevel = array();
foreach ($children as $child) {
$thisLevel[$child->id] = $child;
$thisLevel[$child->id]->children = $this->generateSiteCategorySubcategory($child->id);
}
return $thisLevel;
}
}
В клинке, который я написал, чтобы отобразить продукты и категории в поле выбора:
<select name="categoryid" class="form-control customSelect" >
@foreach ($sitecategories as $sitecategory)
@php if($sitecategory->parentCategoryId != '-1'){ $catName = "--".
$sitecategory->categoryName;
} else { $catName = $sitecategory->categoryName;
}
@endphp
<option value="{{$sitecategory->id}}">{{$catName}}</option>
@endforeach
</select>
Ниже приведена структура таблицы базы данных:
id parentCategoryId categoryName status
1 -1 Планшеты и телефоны 1
2 -1 Мода 1
10 1 Телефон 1
12 1 таблеток 1
15 2 женщин 1
После запуска сценария в поле выбора отображаются только категории, но по категориям продуктов не отображается.