我一直在试图获得Laravel的挂钩。我正在使用Laravel 4. 现在我有两张桌子,一张'产品'桌子和一张'图片'桌子。 产品可以有许多图像,图像属于产品。Laravel雄辩从关系中选择
所以,我有两个型号:
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');
}
}
现在我建立一个资源的“索引”页面,所以我在控制器里做产品::所有的(),并将其发送给视图。
在视图中,我做了一个foreach并遍历所有产品。但是现在我想要得到一个图像来展示产品。但我似乎无法弄清楚如何获得第一张图像。
当我做$product->images
我得到一个与产品相关的所有图像的对象。
当我做$product->images->url
我得到一个错误(未定义的属性“URL”)
我试过$product->images->first()->url
这也给出了一个错误(试图让非对象的属性)
我是什么做错了?
当我这样做:'product-> images [0] - > url',我得到'Undefined offset:0'。当我使用foreach时,它确实起作用。每次我只想得到一张图像时,不得不使用一个循环是非常好的。 – RGweb 2013-04-11 07:05:44
然后马可的方法应该工作。对不起,我不能测试我的,因为我不在我的开发机器上。 – Dwight 2013-04-11 08:18:09
嗯,我认为我的初始设置有问题。我开始了一个全新的项目,现在'$ product-> images [0] - > url'确实可以工作! – RGweb 2013-04-11 10:26:01