我一直在尝试掌握 Laravel 的窍门。我正在使用 Laravel 4。现在我有两个表,一个“产品”表和一个“图像”表。一个产品可以有很多张图片,一张图片属于一个产品。
所以我有两个模型:
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
这也给出了一个错误(尝试获取非对象的属性)
我究竟做错了什么?