मैं एक क्वेरी उत्पन्न कर रहा हूं जो एक चालान, और संबंधित चालान ग्राहक एकत्र करता है।

$invoice = Invoice::with(['lines', 'fullClient'])->findOrFail($idInvoice);     
return view('invoiceView', ['invoice'=>$invoice]);

यह $ चालान-> ग्राहकों के माध्यम से सही ढंग से काम करता है, मैं क्लाइंट तक पहुंच सकता हूं। लेकिन मैं ग्राहक को संग्रह चालान से अलग करने में सक्षम होना चाहता हूं। इसे किसी अन्य चर के माध्यम से भेजने के लिए। ताकि यह कुछ इस तरह दिखे:

$invoice = Invoice::with(['lines', 'fullClient'])->findOrFail($idInvoice); 
//Some magic here
return view('invoiceView', ['invoice'=>$invoice,'client'=>$client]);

यह एक चालान निर्माण दृश्य (संपादित करने में सक्षम होने के लिए) का लाभ उठाने के लिए है, जिसकी $clients संग्रह द्वारा अपेक्षा की जाती है।
मैंने इसे देखने के लिए खोजा है, लेकिन यह संभव नहीं है या इसकी अनुशंसा नहीं की जाती है।

मुझे लगता है कि मैं इसे देखने के लिए भेजने से पहले ऐसा कुछ कर सकता था:

$client = $invoice->customer

लेकिन तब मैं इसे दो बार देखने के लिए भेज रहा था।

0
Phyron 26 जिंदा 2022, 20:15
आप कहते रहते हैं collection लेकिन मुझे कोई (?) नहीं दिख रहा है क्या आप मॉडल की बात कर रहे हैं?
 – 
Clément Baconnier
26 जिंदा 2022, 20:41

2 जवाब

सबसे बढ़िया उत्तर

आप pluck() का उपयोग कर सकते हैं

$invoice = Invoice::with(['lines', 'fullClient'])->findOrFail($idInvoice); 
//The magic
$client = $invoice->pluck('fullClient');
return view('invoiceView', ['invoice'=>$invoice,'client'=>$client]);

डॉक्स

1
Jairo Nava Magaña 26 जिंदा 2022, 20:33
AFAIK pluck(), $invoice से संबंध को अनसेट नहीं करता है
 – 
Clément Baconnier
26 जिंदा 2022, 21:59

किसी मॉडल से संबंध को अनसेट करने के लिए आप unsetRelation($relation) तरीका

$invoice = Invoice::with(['lines', 'fullClient'])->findOrFail($idInvoice); 
$client = $invoice->fullClient;

$invoice->unsetRelation('fullClient');

return view('invoiceView', ['invoice'=>$invoice,'client'=>$client]);

0
Clément Baconnier 26 जिंदा 2022, 20:48