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

एक से कई संबंधों के साथ एकाधिक टेबल (लारवेल)

आपको polymorphic का उपयोग करना चाहिए इसके लिए रिश्ते। यह कई मॉडलों को एक ही टेबल का उपयोग करने की अनुमति देता है।

दस्तावेजों को यहां देखें

आपके विशेष मामले में, आपकी प्रत्येक तालिका एक noteable_id . का संदर्भ देगी कॉलम और एक noteable_type .

noteable_id (A/B/C) . की आईडी होगी मॉडल।

noteable_type मॉडल का स्ट्रिंग नाम होगा (A/B/C)

(A/B/C) मॉडल को अब एक नई विशेषता मिलेगी:

/**
 * (A/B/C) Model(s)
 */
public function notes()
{
    return $this->morphMany('App\Notes', 'noteable');
}

और note मॉडल आपके polymorphic ids and types की पहचान करने के लिए उपयोग किए जाने वाले विशेषता नाम के विरुद्ध इसके बहुरूपी गुणों को आरंभ करेगा :

/**
 * Note Model
 */
public function noteable()
{
    return $this->morphTo();
}

अब आप बस ->noteable . पर कॉल कर सकते हैं (A/B/C) . पर मॉडल, और वे सभी प्रत्येक तालिका के लिए किसी अन्य पिवट तालिका की आवश्यकता के बिना 1 तालिका साझा करते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पीएचपी 5:आप किस डीएएल का उपयोग कर रहे हैं?

  2. Oracle user_indexes MySQL में अनुवाद करता है

  3. अलग गिनती चुनें (आईडी) बनाम गिनती चुनें (अलग आईडी)

  4. एक SSL कनेक्शन पर Django को एक MySQL डेटाबेस से कैसे कनेक्ट करें?

  5. MySQL समय सीमा से विभाजित