我如何才能雄辩地将一对多的关系联系起来?

时间:2019-02-19 07:34:28

标签: php laravel

图片模型:

public function getImage(){
    return $this->belongsTo('App\Product');
}

产品型号:

public function product(){
    return $this->hasMany('App\Image');
}

控制器:

public function index()
{
     $products = Product::all(); //Select *
     return view('product.index',compact('products'));
}

查看:

@foreach($products as $product)
     <td>{{ $product->getImage->image_link}}</td>
@endforeach

错误:

  

试图获取非对象的属性“ image_link”(查看:   C:\ xampp \ htdocs \ ecommerce \ resources \ views \ product \ index.blade.php)

2 个答案:

答案 0 :(得分:0)

图像表中是否有product_id字段?您的hasMany模型中是否有Product

在您的Product模型中,关系应如下所示。

Product.php

public function images(){
    return $this->hasMany('App\Image');
}

然后,您可以将产品中的图像用于循环$product->images->image_link

答案 1 :(得分:0)

他们应该是帖子和带有产品ID的产品之间的关系

在Product.php中

public function product(){
return $this->hasMany('App\Image');

}

然后您可以使用$product->images->image_link