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

Laravel के वाक्पटु ORM . में पिवट तालिका डेटा द्वारा ऑर्डर कैसे करें

इसके 2 तरीके हैं - एक table.field . निर्दिष्ट करने के साथ , अन्य सुवक्ता उपनाम pivot_field . का उपयोग कर रहे हैं यदि आप withPivot('field') . का उपयोग करते हैं :

// if you use withPivot
public function articles()
{
  return $this->belongsToMany('Article', 'tops_has_posts')->withPivot('range');
}

// then: (with not whereHas)
$top = Top::with(['articles' => function ($q) {
  $q->orderBy('pivot_range', 'asc');
}])->first(); // or get() or whatever

यह काम करेगा, क्योंकि एलोक्वेंट एलियासेस withPivot . में दिए गए सभी क्षेत्रों को जोड़ता है pivot_field_name . के रूप में ।

अब, सामान्य समाधान:

$top = Top::with(['articles' => function ($q) {
  $q->orderBy('tops_has_posts.range', 'asc');
}])->first(); // or get() or whatever

// or:
$top = Top::first();
$articles = $top->articles()->orderBy('tops_has_posts.range', 'asc')->get();

यह संबंधित क्वेरी का आदेश देगा।

नोट: चीजों को इस तरह से नाम देकर अपने जीवन को कठिन मत बनाओ। posts जरूरी नहीं कि articles . हों , मैं या तो एक या दूसरे नाम का उपयोग करूंगा, जब तक कि वास्तव में इसकी आवश्यकता न हो।



  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 और Oracle डेटाबेस के बीच डेटा ट्रांसफर करना

  2. JSON_TYPE () - MySQL में JSON मान का प्रकार प्राप्त करें

  3. MySQL और नेस्टेड सेट:धीमी गति से जुड़ें (सूचकांक का उपयोग नहीं)

  4. मैसकल कवरिंग बनाम कंपोजिट बनाम कॉलम इंडेक्स

  5. Mysql 1050 त्रुटि तालिका पहले से मौजूद है जब वास्तव में, यह नहीं है