我必须从 Laravel 4 中的关系中订购一个查询。有两个模型:Task
和 Subproject
。
在任务
中,我与子项目
有关系。这样:
public function subproject()
{
return $this->belongsTo('Subproject');
}
从我的 Controller
中,我想使用 Laravel Builder
订购 Subproject
,而不是连接。
有办法吗?
最佳答案
你想做的是eager loading 。在单个请求中加载模型及其链接模型。您可以使用 Eloquent::with()
方法来完成此操作,如下所示:
$subprojects = Subproject::with('task')->orderBy('subproject.id')->get();
然后您将获得内存中包含链接任务的子项目列表,您可以调用任务而无需再执行 SQL 请求:
foreach($subprojects as $project) {
echo $project->task->id;
}
关于laravel - 如何使用 Builder "order by ..."Eloquent 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17475299/