जैसे आपकी त्रुटि बताती है:
आप किसी मॉडल के बजाय किसी संग्रह पर किसी संपत्ति तक पहुंचने का प्रयास कर रहे हैं। सबसे पहले, आप अपने द्वारा बनाए गए संबंध का उपयोग कर सकते हैं, जैसे:
$order = App\westcoorder::where('id', $orderNumber)->with('westcoorderitem')->firstOrFail();
यह सुनिश्चित करेगा कि ऑर्डर आइटम उन्हें लाने के लिए किसी अन्य क्वेरी को निष्पादित करने के बजाय परिणाम के साथ शामिल किए जाएंगे।
फिर आप $order
. पर पास कर सकते हैं देखने के लिए:
return view('welcome', compact('orderNumber', 'order'));
(आप शायद केवल उस आदेश संख्या को छोड़ सकते हैं जो वास्तविक आदेश था, साथ ही)
तब आप order
. तक पहुंच सकते हैं आपके विचार में और items
. के माध्यम से लूप इस तरह:
@foreach($order->westcoorderitem as $item)
{{ $item->productName }}
@endforeach
एफके
एक और युक्ति यह हो सकती है कि प्रदर्शन को बेहतर बनाने और इसे साफ-सुथरा बनाने के लिए इंडेक्स का उपयोग करने के लिए अपनी तालिका को अपडेट करें, जैसे FK
आप अपने माइग्रेशन बनाएं की टिप्पणी में उल्लेख करते हैं। आप एक माइग्रेशन
कर सकते हैं इसे अपडेट करने के लिए, जैसे:
$table->foreign('westcoorder_id')->references('id')->on('westcoorders');
और/या अपनी आवश्यकताओं के अनुसार (कैस्केडिंग, आदि) इस पर विस्तार करें।