php - Laravel Eloquent 从关系中选择

标签 php laravel relationship laravel-4 eloquent

我一直在尝试掌握 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');
    }

}

现在我正在构建资源的“索引”页面,所以我在 Controller 中执行 Product::all() 并将其发送到 View 。

在 View 中,我执行了一个 foreach 并遍历了所有产品。但现在我想要一张图片来展示产品。但我似乎无法弄清楚如何获得,例如,第一张图片。

当我执行 $product->images 时,我得到了与产品相关的所有图像的对象。

当我执行 $product->images->url 时出现错误(未定义的属性“url”)

我试过 $product->images->first()->url 这也给出了一个错误(尝试获取非对象的属性)

我做错了什么?

最佳答案

你试过预加载吗?

foreach (Product::with('images')->get() as $product)
{
    echo $product->images->first()->url;
}

关于php - Laravel Eloquent 从关系中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15942195/

相关文章:

php - 面向 OO-PHP 和 WordPress 插件的 MVC 方法

php - Laravel 中的非模型逻辑在哪里

php - 拉维尔 : How do I add key and value into Collection or array

php - 如何在laravel中仅显示日期时间中的日期

php - Laravel 4 - 重定向::带有参数的路由

php - Laravel 关系不工作 : getConnectionName() Error

python - Django:如何访问 View 中的向后关系列表?

associations - UML中由分类器拥有的关联和由关系拥有的关联

php - 使用 php 跨选择进行搜索过滤

php - 帮助设计和(更重要的是)单元测试。 (类似于策略模式)