Laravel: показать категории и продукты по дереву - PullRequest
0 голосов
/ 02 июля 2018

Я хотел показать категории и продукты, так как в древовидной форме означает, что последующие продукты будут показаны под категорией и так далее. Чтобы создать это, я создал этот скрипт, который показывает только категории, но не отображает продукты под ним. Ниже приведен мой скрипт для контроллера:

$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

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

1 Ответ

0 голосов
/ 02 июля 2018

Попробуй.

$categoryProducts = \DB::table('categories)
             ->join('products','products.category_id','=','categories.id')
             ->select('categories.*','products.*')
             ->get();

     dd($categoryProducts);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...