我有三个表:
1)任务;
2)拜访;
3)task_visit;
每次访问可以有0个或几个任务。我需要按访问次数对任务进行排序。例如,第一个任务有4次访问,第二个-10次,等等。
在类似的情况下,我有两个表:
1)医生;
2)造访
我按访问对医生进行分类。
在StatVisit控制器中:
$tests = \App\Doctor::withCount(['visitsbydoctor' => function ($query) use ($a,$b){
$query->whereBetween('date', array($a,$b));
}])->orderBy('visitsbydoctor_count', 'desc')->paginate(1000000);
在医生模型中:
public function visitsbydoctor()
{
return $this->hasMany(Visit::class);
}
在数据透视表的情况下如何重写此代码?用于医生模型和StatVisit控制器。
最佳答案
使用绝对相同的方法。 withCount()
也适用于许多关系:
Task::withCount('visits')->latest('visits_count')->get()