この質問は関連しています:Laravel (5.3) Eloquent - Relationship issue、詳細については、このURLにアクセスしてください。Laravel orderBy whereHas
私は次のスクリプトになってしまった:
$genres = ['action', 'drama', 'romance'];
$similiarSeries = TheSeries::whereHas('TheGenres', function($q) use($genres) {
$q->whereIn('genre', $genres);
}, '>=', 1);
return $similiarSeries->take(10);
何それがないことである:それは変数の上から少なくとも1つのジャンルを持って映画をチェックし、10本の作品(存在する場合)を返します。
問題は、ムービーが混沌とした順序で返されていることです。代わりに、アクション、ドラマ、ロマンスなどの映画を優先して表示して、2つのジャンルだけの映画を返すようにすると、ドラマ、ロマンス、ロマンス、アクションなど)。そして1つのジャンルだけです。
これはlaravelでも可能ですか?
UPDATE
これは、映画やそのジャンルの例のリストです:
のでZootopia: Action, Animation, Drama
Toy Story: Action, Drama, Romance
Kung Fu Panda: Action, Animation, Fantasy
Avatar: Action, Drama, Romance
Titanic: Action, Drama, Romance
Avengers: Fantasy, Drama, Fiction
Batman: Adventure
我々は[「行動」、「ドラマ」の少なくとも一つを持っている映画「ロマンス」を検索した場合]、私は返さなければ、次の期待してい
:
Toy Story (Action, Drama, Romance) (3)
Avatar (Action, Drama, Romance) (3)
Titanic (Action, Drama, Romance) (3)
Zootopia (Action, Drama) (2)
Kung Fu Panda (Action) (1)
Avengers (Drama) (1)
Batman (0)
別の例を挙げてください。実際の映画名とジャンル名があります。あなたは何を持っていますか、何を返す必要がありますか? –
#ArturSubotkevicが質問を更新しました。 – Coder
0ジャンルもありますか?何ですか? –