繁体   English   中英

使用Laravel 4和Eloquent查询相关模型

[英]Querying on related models using Laravel 4 and Eloquent

使用Laravel 4我有以下模型和关系:具有多个记录的事件,其中包含许多项目。 我想做的是这样的事情

Item::where('events.event_type_id', 2)->paginate(50);

这个原因不起作用,因为Eloquent在检索记录时不会将模型连接在一起。 那么如何在不自己编写SQL的情况下解决这个问题(因为我想使用分页,我想避免使用它)。

你想要的是渴望加载

如果要指定其他约束,它的工作方式如下:

Item::with(array('events' => function($query) {
    return $query->where('event_type_id', 2);
}))->paginate(50);

这里有一个拉取请求https://github.com/laravel/framework/pull/1951

这将允许您在has()方法上使用约束,如下所示:

$results = Foo::has(array('bars' => function($query)
{
    $query->where('title', 'LIKE', '%baz%');
}))
->with('bars')
->get();

你的想法是只返回在标题栏中包含字符串'baz'的相关Bars的Foos。

它也在这里讨论: https//github.com/laravel/framework/issues/1166 希望很快就能合并。 当我使用pull请求中的更新代码更新Builder类的本地副本时,对我来说工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM