【问题标题】:Laravel, not using a foreach for relationships?Laravel,不使用 foreach 来建立关系?
【发布时间】:2016-09-13 08:46:06
【问题描述】:

我想将所有产品及其第一张图片显示为缩略图。

表: - 产品 -- 图片(外键 -> 产品 ID)

在我的产品列表(foeached trough)中,我想显示该产品的第一张图片的缩略图,我这样做是这样的:

@foreach($product->images as $image)
    @if($loop->first)
        <img src="{{ $image->thumbnail }}" alt="">
    @endif
@endforeach

但是这种方法很丑,不是最好的,对吧?我可以在那里做什么?

【问题讨论】:

    标签: php laravel loops foreach


    【解决方案1】:

    $product->images 是一个集合,所以这样做:

    if (!$product->images->isEmpty())
        $product->images->first()->thumbnail
    

    请参阅first() 的文档

    你可以调用第一个不带参数的方法来获得第一个 集合中的元素

    【讨论】:

    • 嗯,我得到Trying to get property of non-object
    • 嗯可能是集合是空的所以没有缩略图?
    • 不,有该特定产品的缩略图。
    • 这行得通,但这没有意义......?因为图片不是空的,所以应该显示不带if...?
    • 您需要调试,也许您在多个地方使用此代码,其中一个是空的,或者向您发布完整的代码,我可以看到您在做什么
    【解决方案2】:

    希望对你有帮助:

    <img src="{!! $product->images()->first()->thumbnail !!}" alt="">
    

    【讨论】:

      猜你喜欢
      • 2018-10-06
      • 1970-01-01
      • 2018-02-15
      • 2015-11-10
      • 1970-01-01
      • 2022-01-24
      • 2021-02-06
      • 2018-09-23
      相关资源
      最近更新 更多