【发布时间】:2017-05-02 13:38:31
【问题描述】:
我想按嵌套关系的属性对 laravel 集合进行排序。
所以我查询了所有项目(只有项目有与当前用户相关的任务),然后我想按任务关系的截止日期对项目进行排序。
当前代码:
项目.php
public function tasks()
{
return $this->hasMany('App\Models\ProjectTask');
}
任务.php
public function project()
{
return $this->belongsTo('App\Models\Project');
}
用户控制器
$projects = Project->whereHas('tasks', function($query){
$query->where('user_id', Auth::user()->id);
})->get()->sortBy(function($project){
return $project->tasks()->orderby('deadline')->first();
});
我不知道我是否朝着正确的方向前进? 任何建议表示赞赏!
【问题讨论】: