Laravel 为关系添加/查找关系

Posted

技术标签:

【中文标题】Laravel 为关系添加/查找关系【英文标题】:Laravel adding/finding relationships for relationships 【发布时间】:2013-01-03 19:50:43 【问题描述】:

如何使用 Eloquent ORM 查找关系?目前我有这样的东西。简单的关系。我可以找到图片,它是摄影师。现在我需要做一些更复杂的事情,我还需要找到摄影师标签。

转储看起来像这样

object(Image) 
    ["attributes"] => [],
    ["relationships"] =>
        ["photographer"] =>
            ["attributes"] => [],
            ["relationships"] =>

但我需要添加标签关系,所以它看起来像这样

object(Image) 
    ["attributes"] => [],
    ["relationships"] =>
        ["photographer"] =>
            ["attributes"] => [],
            ["relationships"] =>
                ["tags"] =>
                    ["attributes"] => [],
                    ["relationships"] =>

怎么可能?

/图像模型

public function photographer()

    return $this->belongs_to('Photographer');


public function tags()

    return $this->has_many_and_belongs_to('Tag', 'tag_relationships');

/控制器

$images = Image::with(['photographer'])->order_by('updated_at', 'desc')->get();

【问题讨论】:

在 IRC 获得了答案。也许这会起作用 Image::with(['photographer', 'photographer.tags']),明天会测试它。 【参考方案1】:

你只需使用 laravel 的点语法:

Image::with(['photographer', 'photographer.tags', 'photographer.tags.categories]) ....

【讨论】:

它是-Eloquent ORM - Eager Loading

以上是关于Laravel 为关系添加/查找关系的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 雄辩关系中添加多个条件

Laravel 通过嵌套关系列查找行

Laravel:向枢轴模型添加关系

Laravel Eloquent 关系 - 3 个表,其中一个是查找表

Laravel Eloquent:获取嵌套关系中的数据总和并将其添加为新属性

Laravel:无法添加记录多对多关系