У меня есть три модели: продукты, категория, product_category. У продукта может быть много категорий, и у некоторых категорий может быть родитель. Вы можете найти связанные отношения ниже. Я мог бы показать все категории с помощью цикла foreach()
, но я не хочу этого делать. Я хочу только показать категорию, и она должна быть последней. Есть ли способ показать только последнюю категорию родительской категории текущего продукта?
<div class="row">
@foreach ($products as $product)
@foreach ($product->categories as $cat)
{{ $cat->title }}
@endforeach
@endforeach
</div>
Модель продукта
public function categories()
{
return $this->belongsToMany(Category::class);
}
Категория модели
public function products()
{
return $this->belongsToMany(Product::class);
}
public function subcategories()
{
return $this->hasMany('\App\Category', 'parent_id');
}
public function parent()
{
return $this->belongsTo('\App\Category', 'parent_id');
}
Схема категорий
$table->increments('id');
$table->string('title');
$table->integer('parent_id')->nullable();
Схема Category_product
$table->increments('id');
$table->integer('category_id')->unsigned();
$table->integer('product_id')->unsigned();