समस्या: मैं केवल ग्राहक ही प्राप्त करना चाहता हूं अगर वे पहले से ही चालू वर्ष के लिए ऑर्डर दे चुके हैं। ग्राहक और आदेश दो अलग-अलग डेटाबेस पर हैं (यह नहीं बदला जा सकता है)। रिश्तों सभी सेटअप और सही तरीके से काम कर रहे हैं, लेकिन जब मैं निम्न कोशिश करता हूं तो मुझे एक एसक्यूएल त्रुटि मिलती है क्योंकि यह 'ग्राहकों' डेटाबेस पर 'ऑर्डर' खोजने की कोशिश कर रहा है। क्या इस परिदृश्य में सही डेटाबेस का उपयोग करने के लिए लार्वेल को मजबूर करने के लिए वैसे भी है?लार्वेल जहां दो अलग-अलग डेटाबेस
$customers = $customers->whereHas('orders', function($query){
$query->where('academic_year_id', '=', $this->current_academic_year->id);
});
$customers = $customers->orderBy('DFKEY','ASC')->get();
आदेश मॉडल:
public function customer()
{
return $this->belongsTo('Customer','dfkey');
}
ग्राहक मॉडल:
protected $connection = 'mysql2';
public function orders()
{
return $this->hasMany('Order','dfkey','DFKEY');
}
अग्रिम धन्यवाद! इस तरह क्वेरी लिख सकते हैं और के रूप में यह है- अपने डेटाबेस और tablename डाल करने के लिए
लगता है वहाँ रिश्तों के साथ एक समस्या है की तरह , ग्राहकों के साथ बहुत से रिश्ते का आदेश है? आपको ग्राहक मॉडल में ऑर्डर फ़ंक्शन की आवश्यकता है, साथ ही मुझे लगता है कि वास्तव में परिणाम –
जवाब देने के लिए आपको अंत में एक बयान की आवश्यकता है, उत्तर के लिए धन्यवाद, मैंने अपना मूल प्रश्न अधिक विस्तार से अपडेट किया है ... – Pedro
http: // fideloper .com/laravel-multiple-डेटाबेस-कनेक्शन – Sachin