按类型 ID 生成建议
Generate sugestions by genre id
使用 laravel 7 和数据透视表我有这样的东西:
型号:展示
public function genres()
{
return $this->belongsToMany('App\ShowGenre');
}
型号:演出类型
public function shows()
{
return $this->belongsToMany('App\Show', 'show_show_genre')->orderBy('name', 'asc');
}
在 mysql 数据库中,我有 show_genres,我将 show_id 和 genre_id 放在那里。所以我想创建类似基于建议的东西。
在我的页面底部,我想显示 5 个具有相同类型的随机电视节目。一些电视节目有多种类型,所以我如何显示它并用 suma 5 限制它。
show_show_genre
应该有 show_id
和 show_genre_id
因为 show_show_genre
是枢轴 table。 show_genres
不是主元 table,因为它是代码中描述的流派 table。此外,您不需要在 return 语句中设置 show_show_genre
,因为 Laravel 会自动识别它的主元 table。
尝试这样的事情:
$show = Show::findOrFail($id);
$featuredShows = Show::whereHas('genres', function ($query) use ($show) {
$query->whereIn('show_genres.id', $show->genres()->pluck('id')->toArray());
})->where('id', '!=' , $show->id)->with(['genres'])->inRandomOrder()->limit(5)->get();
使用 laravel 7 和数据透视表我有这样的东西:
型号:展示
public function genres()
{
return $this->belongsToMany('App\ShowGenre');
}
型号:演出类型
public function shows()
{
return $this->belongsToMany('App\Show', 'show_show_genre')->orderBy('name', 'asc');
}
在 mysql 数据库中,我有 show_genres,我将 show_id 和 genre_id 放在那里。所以我想创建类似基于建议的东西。
在我的页面底部,我想显示 5 个具有相同类型的随机电视节目。一些电视节目有多种类型,所以我如何显示它并用 suma 5 限制它。
show_show_genre
应该有 show_id
和 show_genre_id
因为 show_show_genre
是枢轴 table。 show_genres
不是主元 table,因为它是代码中描述的流派 table。此外,您不需要在 return 语句中设置 show_show_genre
,因为 Laravel 会自动识别它的主元 table。
尝试这样的事情:
$show = Show::findOrFail($id);
$featuredShows = Show::whereHas('genres', function ($query) use ($show) {
$query->whereIn('show_genres.id', $show->genres()->pluck('id')->toArray());
})->where('id', '!=' , $show->id)->with(['genres'])->inRandomOrder()->limit(5)->get();