sql >> データベース >  >> RDS >> Mysql

Laravel(5.3)Eloquent-関係の問題

    次のように試すことができます:

    // 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();
    

    次に、それらの$genre_idsを使用します 関連する映画を次のように取得するには:

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

    更新

    あなたが持っていると仮定して:

    $genre_ids = [21, 23];
    

    その場合、クエリは次のようになります。

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

    注-私はテストしていませんが、試してみることができます。




    1. バインディング変数とそれらを指定するSQLクエリ

    2. リソース番号とは何ですか?

    3. 「バイナリロギングが不可能」と表示されるのはなぜですか。私のMySQLサーバーで?

    4. MySQLは大きなデータベースから重複をすばやく削除します