Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

अपरिभाषित संपत्ति:Illuminate\Database\Eloquent\Collection::Laravel 5.2

जैसे आपकी त्रुटि बताती है:

आप किसी मॉडल के बजाय किसी संग्रह पर किसी संपत्ति तक पहुंचने का प्रयास कर रहे हैं। सबसे पहले, आप अपने द्वारा बनाए गए संबंध का उपयोग कर सकते हैं, जैसे:

$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');

और/या अपनी आवश्यकताओं के अनुसार (कैस्केडिंग, आदि) इस पर विस्तार करें।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. लोडएरर विंडोज़ में रेल पर रूबी के साथ MySQL का उपयोग करने का प्रयास कर रहा है, रूबीमाइन आईडीई

  2. MySQL में UUID प्रदर्शन?

  3. संबंधपरक डेटाबेस में 1:1 उपयोगकर्ता संबंधों को संग्रहीत करने का सर्वोत्तम तरीका

  4. माइग्रेशन लार्वा 5.1 . में ऑटो इंक्रीमेंट फ़ील्ड को 1000 से प्रारंभ करें सेट करें

  5. दूसरा उच्चतम वेतन सर्वोत्तम संभव तरीके खोजें