如何在 Laravel 7 中使用 Livewire 显示存储路径中的图像
Posted
技术标签:
【中文标题】如何在 Laravel 7 中使用 Livewire 显示存储路径中的图像【英文标题】:How to Show Images from Storage Path using Livewire in Laravel 7 【发布时间】:2021-02-09 03:29:54 【问题描述】:我是在电子商务 Laravel 7 项目中使用 Livewire 作为购物车的新手。我想显示购物车中每件商品的产品图片。我的表数据上有@foreach ($cartItems as $item)
。当我尝试这段代码时
<img src="asset('storage/'.$item->cover_img)">
为了尝试显示保存到我的存储路径的图像,我收到了一个类似上图的错误。但是当我尝试时:
<img src="asset('storage/'.$item['cover_img'])">
我收到了ErrorException Undefined index: cover_img
。除图像外,所有其他 $item 都在工作并获取所需的数据。在我的其他没有 livewire 的刀片上 <img src="asset('storage/'.$item->cover_img)>
工作正常。
如何在 livewire 中正确执行此操作?任何意见,将不胜感激。提前致谢!
当我执行dd($item)
时,这就是我得到的:
【问题讨论】:
您是否也尝试在您的 liveware 文件中应用相同的“箭头”语法?所以不要写$item['cover_img']
写$item->cover_img
。你能以某种方式得到$item
在你的 Livewire 刀片中的输出吗?
你能检查dump(is_object($item))
并判断它返回的是真还是假
我在尝试dump(is_object($item))
时遇到了另一个错误ErrorException Trying to get property 'cover_img' of non-object
。当我尝试做dd($item)
时,我可以得到一个集合数组,包括cover-img。
它是一个数组,而不是一个对象。那么<img src=" asset($image['associatedModel']['cover_img']) " />
?
感谢您的所有建议和帮助。我能够使用<img src=" asset('storage/'.$item['associatedModel']['cover_img']) " />
使其工作。非常感谢! :)
【参考方案1】:
这解决了我的问题:
<img src=" asset('storage/'.$item['associatedModel']['cover_img']) " />
谢谢!
【讨论】:
以上是关于如何在 Laravel 7 中使用 Livewire 显示存储路径中的图像的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel Framework 7.29.3 中解析 laravel ui
如何在 Laravel 7 中使用原始 SQL 查询创建范围?
如何在 Laravel 7 中使用 Livewire 显示存储路径中的图像