我正在尝试按视频视图对连续剧进行排序。
关系:序列与序列具有hasMany关系。这部剧集与剧集之间存在hasMany关系。这些剧集与视频有一种hasOne关系。视频与观看计数之间存在hasMany关系。
<?php
//sort method:
public function mostPopular()
{
$serials = Serial::with(['series.episodes.video' => function ($query) {
$query->withCount(['videoViews' => function($query) {
}])->orderBy('video_views_count', 'desc');
}])->get();
return $serials;
}
//Serial model:
public function series()
{
return $this->hasMany(Series::class);
}
//Series model:
public function episodes()
{
return $this->hasMany(Episode::class);
}
public function serial()
{
return $this->belongsTo(Serial::class);
}
//Episode model:
public function video()
{
return $this->hasOne(Video::class);
}
public function series()
{
return $this->belongsTo(Series::class);
}
//Video model:
public function videoViews()
{
return $this->hasMany(VideoView::class);
}
public function episode()
{
return $this->belongsTo(Episode::class);
}
?>
我期望按视频视图(series.episodes.video.videoViews)排序的序列,但实际输出没有排序。
Laravel 5.8 PHP 7
https://stackoverflow.com/questions/56448423
复制相似问题