首页 > 解决方案 > 如何为循环中的每个项目调用多态

问题描述

Laravel 5.6中,我有一个多态关系。

productsdb中有很多,avatars对于每个product.

当我发送products data查看,我想发送每个产品的头像。

我在头像表和产品表之间编写了一个多态关系,我可以使用以下代码轻松访问每个产品的头像:

$avatar = Product::find(id)->avatars()->first();

但是当 db result 不是一个产品并且是一系列产品时,我如何访问每个头像?

如果我有这样的结果,我怎么能找到每个avatar视图文件?:product

$products = Product::all();
return view('frontend/home')->with([
        'products'=>$products,
    ]);

在视图中我有这样的东西:

@foreach($products as $product)
   <li>
    @include('items.product')
 </li>
@endforeach

标签: laravellaravel-5eloquent

解决方案


您应该能够使用with()

$products = Product::with('avatars')->get();

然后在你的刀片文件中你会有类似的东西:

@foreach($products as $product)
    <img src="{{ $product->avatars->first()->url }}" alt="" />
@endforeach

推荐阅读