/ / लार्वेल 5 - php, लार्वेल, भाषण के साथ जुड़ें लागू करें

लार्वेल 5 - पीएचपी, लार्वेल, वाक्प्रचार के साथ जुड़ें लागू करें

मैं क्वेरी में शामिल होने के बाद लागू करने की कोशिश कर रहा हूं

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