2 回答
TA贡献1909条经验 获得超7个赞
对于您遇到的错误,我认为这是因为您的产品表具有image作为属性,并且您正尝试使用images作为键来检索图像。
通过将图像存储为数组,您正在为您的应用程序实现一个糟糕的设计。
由于您有多个图像,因此创建了一个images以 product_id 作为外键的新表。
Schema::create('images', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->dateTime('created_at');
$table->foreign('product_id')->references('id')->on('products')->onDelete('cascade');
});
现在,在您的产品和图像模式上添加关系。
/* add this on your Product.php modal */
public function images()
{
return $this->hasMany('App\Image');
}
/* add this on your Image.php modal */
public function product()
{
return $this->belongsTo('App\Product');
}
现在,要检索与某个产品相关的所有图像,您只需要调用
@foreach($product->images() as $image)
<img src="{{url('images',$image->filepath)}}" alt="">
@endforeach
TA贡献1777条经验 获得超10个赞
在控制器中,您将其保存在image
:
'image' => json_encode($image),
但在您阅读的视图中images
:
@foreach($product->images as $image)
所以我猜应该是$product->image
。您没有发布呈现视图的控制器,所以我在这里猜测。
- 2 回答
- 0 关注
- 166 浏览
添加回答
举报