我一直在尝试掌握Laravel技术。我正在使用Laravel 4版本。 现在我有两个表,一个是“产品(Products)”表,另一个是“图片(Images)”表。 一个产品可以拥有多张图片,而一张图片属于一个产品。
因此,我有两个模型:
class Product extends Eloquent {
public function images()
{
return $this->hasMany('Image');
}
}
class Image extends Eloquent {
protected $table = 'product_images';
public function product()
{
return $this->belongsTo('Product');
}
}
现在我正在构建一个资源的“索引”页面,所以我在控制器中执行Product::all()并将其发送到视图。
在视图中,我使用foreach循环遍历所有产品。但现在我想获得一个与产品一起显示的图像。但是我似乎无法弄清如何获取例如第一个图像。
当我执行$product->images
时,我获得了与产品相关的所有图像的对象。
当我执行$product->images->url
时,我会收到一个错误(未定义属性'url')
我尝试过$product->images->first()->url
,但这也会产生一个错误(试图获取非对象的属性)
我做错了什么?
dd(User::with('role')->find(2));
但是,必须先使用 with。 - Jazzy