Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

लारवेल (5.3) वाक्पटु - संबंध मुद्दा

आप इस प्रकार प्रयास कर सकते हैं:

// 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक कॉलम पर FULLTEXT अनुक्रमणिका कैसे बनाएं?

  2. utf8_bin बनाम utf_unicode_ci

  3. कैसे .txt फ़ाइलें MySQL डेटाबेस स्टोर करने के लिए?

  4. थोड़ी देर में समान पंक्तियों की जाँच करें और उन्हें एक अलग तालिका में रखें

  5. अद्यतन के लिए चयन ... का उपयोग कब करें?