To pytanie jest związane z: Laravel (5.3) Eloquent - Relationship issue, proszę przejść do tego adresu URL, aby uzyskać więcej informacji.Zamówienie LaravelBy whereHas
skończyło się następujący scenariusz:
$genres = ['action', 'drama', 'romance'];
$similiarSeries = TheSeries::whereHas('TheGenres', function($q) use($genres) {
$q->whereIn('genre', $genres);
}, '>=', 1);
return $similiarSeries->take(10);
Co robi jest: Sprawdza filmów, który ma co najmniej 1 gatunek z góry zmiennej i zwraca 10 filmów (jeśli istnieje).
Problem polega na tym, że filmy są zwracane w chaotycznej kolejności, zamiast tego wolałbym, żeby były wyświetlane, dając pierwszeństwo filmom, które są: działaniem, dramatem, romantycznością, a następnie zwracają te filmy tylko z 2 gatunkami (jak: dramat, romans lub romans, akcja). a następnie tylko 1 gatunek.
Czy to możliwe w wersji laravel?
UPDATE
Jest to lista przykładów filmów i ich gatunków:
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
Jeśli więc szukać filmów, które mają co najmniej jedną [ „akcja”, „dramat”, „romans” ]
oczekuję następujące zostać zwrócone:
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)
Spróbuj podać inny przykład, proszę. Z prawdziwymi nazwami filmów i nazwami gatunków. Co masz i czego potrzebujesz, aby zostać zwróconym. –
#ArturSubotkevic właśnie zaktualizował pytanie. – Coder
Z 0 gatunkami też? Co? –