सिंटैक्स को सरल बनाने के लिए, return $this->hasMany('App\Comment', 'foreign_key', 'local_key');
के बारे में सोचें पैरामीटर के रूप में:
- वह मॉडल जिससे आप लिंक करना चाहते हैं
- विदेशी तालिका का स्तंभ (जिस तालिका से आप लिंक कर रहे हैं) जो
id
से वापस लिंक करती है वर्तमान तालिका का कॉलम (जब तक कि आप तीसरा पैरामीटर निर्दिष्ट नहीं कर रहे हैं, उस स्थिति में वह इसका उपयोग करेगा) - वर्तमान तालिका का वह स्तंभ जिसका उपयोग किया जाना चाहिए - अर्थात यदि आप नहीं चाहते कि दूसरी तालिका की विदेशी कुंजी
id
से लिंक हो वर्तमान तालिका का स्तंभ
आपकी परिस्थिति में, क्योंकि आपने store_id
. का उपयोग किया है libraries
. में टेबल, आपने अपने लिए जीवन आसान बना दिया है। आपके Store
. में परिभाषित होने पर नीचे दी गई जानकारी पूरी तरह से काम करनी चाहिए मॉडल:
public function libraries()
{
return $this->hasMany('App\Library');
}
परदे के पीछे, Laravel स्वचालित रूप से id
. को लिंक कर देगा Store
. का कॉलम store_id
. के लिए तालिका Library
. का कॉलम टेबल।
यदि आप इसे स्पष्ट रूप से परिभाषित करना चाहते हैं, तो आप इसे इस प्रकार करेंगे:
public function libraries(){
return $this->hasMany('App\Library', 'store_id','id');
}
- एक मॉडल मानक यह है कि एकवचन-नाम वाले फ़ंक्शन एक संबंधित को लौटाते हैं, जबकि एक बहुवचन फ़ंक्शन एक हैमनी (यानी।
$store->libraries() or $library->store()
लौटाता है। )।