在Laravel中,我有一个Story
模型,它与Episode
模型有episodes()
HasMany
关系,我还有一个Visit
模型,它与Episode
模型有visits()
MorphMany
关系,我如何根据相关episodes()
的访问次数订购Story
,以便访问次数更多的剧集的故事将获得更高的优先级。Story
型号
public function episodes()
{
return $this->hasMany(Episode::class);
}
Episode
模型
public function visits()
{
return $this->morphMany(Visit::class, 'visitable');
}
我尝试过使用Laravel的withCount()
方法和其他不同的方法,但似乎不能正确使用。
以下是其中之一:
$stories = Story::withCount(['episodes' => function ($query) {
$query->withCount('visits');
}])
->orderByDesc('episodes_visits_count')
->get();
如何使用Laravel的withCount()方法根据相关剧集()的访问次数对故事模型进行排序?
1条答案
按热度按时间qij5mzcb1#
尝试使用关系计数的别名,如本文档结尾部分所述: