sql >> Database >  >> RDS >> Mysql

Laravel (5.3) Welsprekend - Relatieprobleem

Je kunt het proberen als:

// returns array of genre_ids associate with the TheMovies.id => 1

$genre_ids = TheGenres::whereHas('TheMovies', function($q) {
    $q->where('id', 1);
})->pluck('id')->toArray();

Gebruik dan die $genre_ids om de gerelateerde films op te halen als:

TheMovies::whereHas('TheGenres', function($q) use($genre_ids) {
    $q->whereIn('id', $genre_ids);
})->get();

Bijwerken

Ervan uitgaande dat u:

$genre_ids = [21, 23];

dan kan uw vraag zijn als:

TheMovies::whereHas('TheGenres', function($q) use($genre_ids) {
    $q->whereIn('genreID', $genre_ids)
        ->groupBy('movieID')
        ->havingRaw('COUNT(DISTINCT genreID) = 2');
})->get();

Opmerking - ik heb het niet getest, maar je kunt het proberen.




  1. Hoe een ADDM-taak te maken en het rapport ervan te controleren

  2. Terugkeren van een functie met OUT-parameter

  3. Oplossingen voor SQL Server 2012 &2014 Online Index Rebuild Probleem

  4. Oracle EXPAND_SQL_TEXT gebruiken