मैं क्वेरी में शामिल होने के बाद लागू करने की कोशिश कर रहा हूं
SELECT * from users as u
LEFT JOIN `table1` as ou
ON ou.user_id = u.id
LEFT JOIN table2 as o
ON o.id = ou.orid
LEFT JOIN table3 as p
ON o.pra_id = p.id;
मेरे लार्वेल मॉडल के साथ, इसलिए मैं अपने उपयोगकर्ता मॉडल में निम्नलिखित कोड के साथ alldata () नामक एक फ़ंक्शन बनाता हूं
public function alldata()
{
return $this
->leftjoin("table1","users.id","=","table1.user_id")
->leftjoin("table2","table1.orid","=","table2.id")
->leftjoin("table3","table2.pra_id","=","table3.id");
}
अब जब मैं $ gd = उपयोगकर्ता :: द्वारा डेटा तक पहुंचने का प्रयास करता हूंढूंढें (1) -> getall () यह सभी तालिकाओं के साथ परिणाम देता है लेकिन जब मैं $ gd = user :: acc () -> alldata () को acces करने का प्रयास करता हूं तो यह त्रुटि मैथोड नहीं मिला मैं इसे कैसे हल करूं धन्यवाद
उत्तर:
उत्तर № 1 के लिए 1उपयोगकर्ता :: ढूंढें (1) फ़ंक्शन ऑब्जेक्ट का एक उदाहरण देता है (या न मिलने पर NULL)।
उपयोगकर्ता :: सभी () फ़ंक्शन सभी उपयोगकर्ता ऑब्जेक्ट्स का संग्रह देता है।
आपको एक प्रश्न बनाने की आवश्यकता है, फिर परिणाम प्राप्त करें () परिणाम ...
public static function alldata()
{
return self::query()
->leftjoin("table1","users.id","=","table1.user_id")
->leftjoin("table2","table1.orid","=","table2.id")
->leftjoin("table3","table2.pra_id","=","table3.id")
->get();
}
मान लें कि आपकी अपनी alldata () विधि उपयोगकर्ता कक्षा में है, आप निम्न कोड के साथ फ़ंक्शन को कॉल कर सकते हैं:
User::alldata();
लैरवेल में एक उत्कृष्ट डेटाबेस रिलेशनशिप सिस्टम है जो सबसे अधिक मूल्यवान रूप से देखने लायक है। यह उपरोक्त की तरह प्रश्नों को बहुत सरल बना देगा ...
https://laravel.com/docs/5.1/eloquent-relationships