Php 我如何在laravel Elotent中连接一对多关系?

Php 我如何在laravel Elotent中连接一对多关系?,php,laravel,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

图像模型:

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作为$product)
{{$product->getImage->image_link}
@endforeach
错误:

正在尝试获取非对象的属性“image\u link”(视图: C:\xampp\htdocs\ecommerce\resources\views\product\index.blade.php)


图像表中是否有
产品id
字段?您的
产品
型号中是否有许多

在您的
产品中
模型应该是如下所示的关系

Product.php

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

然后,您可以在product for loop中使用图像
$product->images->image\u link

图像表中是否有
产品id
字段?您的
产品
型号中是否有许多

在您的
产品中
模型应该是如下所示的关系

Product.php

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

然后,您可以在product for循环中使用图像
$product->images->image\u link

它们应该是具有产品id的post和产品之间的关系

在Product.php中

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


然后你可以使用
$product->images->image\u link

它们应该是带有产品id的post和产品之间的关系

在Product.php中

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


然后你可以使用
$product->images->image\u link

你需要在你的数据库中添加一些虚拟数据,目前你正试图带来一个空数据。你需要在你的产品模型中定义getImage关系,而不是在图像模型中,这将是一个多关系的方法
getImage()
应该在产品模型中,而
product()
应该在图像模型中。无论如何,$product->getImage将返回集合,请尝试$product->getImage[0]->image\u链接解决!!!我只是缺少getImage[0]中的第一个索引。感谢pal和N69S。您需要在数据库中添加一些虚拟数据。当前,您正在尝试引入一个空数据。您需要在产品模型中定义getImage关系,而不是在图像模型中,这将有很多关系。您反转了这些方法
getImage()
应该在产品模型中,而
product()
应该在图像模型中。无论如何,$product->getImage将返回集合,请尝试$product->getImage[0]->image\u链接解决!!!我只是缺少getImage[0]中的第一个索引。谢谢朋友和N69S。