从laravel中的多对多关系显示一个类别中的许多产品

时间:2020-08-03 14:25:55

标签: laravel laravel-7

所以我正在使用Laravel 7. *进行目录编制,而我遇到了问题。

我有很多产品和很多类别。我已经建立了多对多关系,因此产品可以属于许多类别。

现在,我想做的是在页面中显示具有相关产品的每个类别,但是显然我做错了。

下面您可能会看到一些代码:

Product.php:

public function categories()
{
return $this->belongsToMany(Category::class);
}

Category.php:

public function product()
{
return $this->belongsToMany(Product::class);
}

Show.blade.php

@php
$products = \App\Product::with('categories')->find(1);
@endphp
@foreach ($products as $id)
{{ $id->name }}<br>
@endforeach

需要帮助吗?

2 个答案:

答案 0 :(得分:0)

解决了。

我在控制器中获取了类别并发送给视图。然后针对每个类别显示每个产品。

答案 1 :(得分:0)

获取所有类别并显示与它们相关的产品。

@php
$categories= \App\Category::all();
@endphp
@foreach($categories as $category)
   
           @foreach($category->product as $product)
                   {{$product->name}}
           @endforeach

@endforeach