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

Laravel:जहां से ऑर्डर करें

समाधान:

$ids = array(1,17,2);
 
$ids_ordered = implode(',', $ids);
 
$items = static::whereIn('id', $ids)
 ->orderByRaw("FIELD(id, $ids_ordered)")
 ->get();

अतिरिक्त नोट:

WHERE IN क्लॉज में आईडी के वर्तमान क्रम द्वारा एक बार में सभी आइटम प्राप्त करें वाक्पटु का उपयोग करना :

// Raw SQL:
// SELECT * FROM items WHERE id IN (1,2,3,4,5) ORDER BY FIELD(id,1,2,3,4,5);
 
$itemIds = array(1,2,3,4,5);
 
$ids = implode(',', $itemIds);
 
$items = static::whereIn('id', $itemIds)
    ->orderByRaw(DB::raw("FIELD(id, $ids)"))
    ->take($limit)
    ->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. mysql - डालने के बाद प्राथमिक कुंजी प्राप्त करें अनदेखा करें

  2. MySQL क्वेरी sql को स्पष्ट रूप से कैप्चर करने के लिए वायरशार्क का उपयोग कैसे करें

  3. LIMIT के साथ MySQL तालिका से औसत चुनें

  4. JDBC के साथ Mysql से कनेक्ट करते समय ClassNotFoundException

  5. लिंक्ड सर्वर MySQL कैसे बनाएं