Нет данных для каждой функции all () Laravel - PullRequest
1 голос
/ 06 февраля 2020

Нет распечатанных данных или функция all () в laravel после функции foreach и печати Контроллер продукта

use App\ProductsCategory;
use App\ProductsSubCategory;
  public function create()
{
    $categories = ProductsCategory::all();
    $subcategories = ProductsSubCategory::all();
    return view('admin.product.create', compact('categories','subcategories'));
}

Create.blade

@foreach($categories as $category)
{{ $category->category_name }} // no data printed
            @foreach($subcategories as $subcategory)
                @if($subcategory->parent_category_id == $category->id)
                    {{ $subcategory->subcategory_name }}  // no data printed
                @endif
            @endforeach
@endforeach

Таблица категорий продуктов

|---------------------|------------------|
|      id             |    category_name |
|---------------------|------------------|
|          1          |    Category 1    |
|---------------------|------------------|
|          2          |    Category 2    |
|---------------------|------------------|

Таблица категорий продуктов

|---------------------|------------------|-------------------|
|      id             | subcategory_name |parent_category_id | 
|---------------------|------------------|-------------------|
|          1          |  Subcategory 1   |     1             |
|---------------------|------------------|-------------------|
|          2          |   Subcategory 2  |     1             |
|---------------------|------------------|-------------------|

1 Ответ

0 голосов
/ 06 февраля 2020

Я полагаю, вы уже определили модели отношений

//App\ProductsCategory
public function subCategories() {
  return $this->hasMany('App\ProductsSubCategory', 'parent_category_id', 'id');
}

//App\ProductsSubCategory
public function parentCategory() {
  return $this->belongsTo('App\ProductsCategory', 'parent_category_id');
}

//Controller
//...
public function create()
{
    //use [eager loading][1] 
    $categoriesWithSubCategories = ProductsCategory::with('subCategories')->get();
    return view('admin.product.create', compact('categoriesWithSubCategories'));
}

//Create.blade.php
@forelse($categoriesWithSubCategories as $category)
     {{ $category->category_name }}
     @forelse($category->subCategories as $subcategory)    
         {{ $subcategory->subcategory_name }}
     @empty
     <p>No sub categories found</p>      
     @endforelse
@empty
<p>No categories found</p>
@endforelse
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...