laravel - 如何使用 Builder "order by ..."Eloquent 关系

标签 laravel laravel-4 relationship eloquent

我必须从 Laravel 4 中的关系中订购一个查询。有两个模型:TaskSubproject

任务中,我与子项目有关系。这样:

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/

相关文章:

php - Lumen/Laravel 错误 - ReflectionException : Class App\Http\Controllers\Photos\TestController does not exist

laravel - 用新的格式化数组替换相关的模型集合数组

javascript - Laravel 4 和 Angular JS 以及 Twitter Bootstrap 3 分页

core-data - Swift 4 核心数据 - 获取关系

mongodb - NoSQL 中的博客和博客评论关系

laravel - 如何在输入数组上使用自定义验证属性

php - 在 Laravel 的 Blade 模板函数中使用 Handlebars 数据

php - Laravel Controller 和包中的路由?

php - Laravel 路由 : How to create a link to a PDF file

Mysql连接三个表的数据(多对多关系)