मैं ब्लेड में जेसन परिणाम प्रदर्शित करने की कोशिश कर रहा हूं, लेकिन जब मैं संबंधित संबंधों से राज्य का नाम, जिले का नाम प्रदर्शित करने का प्रयास करता हूं, तो मुझे ब्लेड में 1 मिल रहा है, मैं 'उपयोगकर्ता' संबंध प्रदर्शित करने में सक्षम हूं और ' नई स्थापना'।

मेरा मॉडल

NewInstallation.php

public function newInstallationPrePayment()
{
    return $this->hasMany(NewInstallationPrePayment::class, 'installation_order_id', 'id');
}

public function state()
{
    return $this->hasOne(State::class, 'id', 'state');
}

public function district()
{
    return $this->hasOne(District::class, 'id', 'district');
}

NewInstallationPaymentStatus.php

public function newInstallationPrePayment()
{
    return $this->belongsTo(NewInstallationPrePayment::class, 'order_name', 'order_name');
}

नियंत्रक

$new_installation_order = NewInstallationPaymentStatus::with([
        'newInstallationPrePayment.newInstallation.state',
        'newInstallationPrePayment.newInstallation.district',
        'newInstallationPrePayment.newInstallation.user']
    )->findOrFail($id);

ब्लेड

{{$new_installation_order}} 

मुझे उपरोक्त के लिए जेसन परिणाम नीचे मिल रहा है

लेकिन जब मैं राज्य को कॉल करने का प्रयास करता हूं

{{$new_installation_order['newInstallationPrePayment']['newInstallation']['district'] }}

जब मैं इसका उपयोग करता हूं तो मुझे 1 मिल रहा है

जेसन:

{
   "id":2,
   "user_id":1,
   "order_name":"ORDER_ID_NW_SW-24",
   "order_amount":"118.00",
   "referenceId":"290927",
   "txStatus":"SUCCESS",
   "paymentMode":"CREDIT_CARD",
   "txMsg":"Transaction Successful",
   "txTime":"2020-03-31 14:34:52",
   "order_status":"NEW",
   "deleted_at":null,
   "created_at":"2020-03-31T16:37:34.000000Z",
   "updated_at":"2020-03-31T16:37:34.000000Z",
   "new_installation_pre_payment":{
      "id":21,
      "user_id":0,
      "installation_order_id":24,
      "order_name":"ORDER_ID_NW_SW-24",
      "payment_status":"SUCCESS",
      "created_at":"2020-03-31T09:04:33.000000Z",
      "updated_at":"2020-03-31T16:37:34.000000Z",
      "deleted_at":null,
      "new_installation":{
         "id":24,
         "f_name":"Full Name",
         "p_no":"",
         "address":"Address",
         "address_line_1":"Address",
         "state":{
            "id":1,
            "state_name":"Tamil Nadu",
            "deleted_at":null,
            "created_at":"2020-03-27T04:16:37.000000Z",
            "updated_at":"2020-03-27T04:16:37.000000Z"
         },
         "district":{
            "id":1,
            "state_id":1,
            "district_name":"Chennai",
            "deleted_at":null,
            "created_at":"2020-03-27T04:17:22.000000Z",
            "updated_at":"2020-03-27T04:17:22.000000Z"
         },
         "area":"Area Name",
         "landmark":"Land Mark",
         "pincode":"123456",
         "fees_id":1,
         "user_id":1,
         "deleted_at":null,
         "created_at":"2020-03-31T09:04:33.000000Z",
         "updated_at":"2020-03-31T09:04:33.000000Z",
         "user":{
            "id":1,
            "name":"admin",
            "email":"tesmachino@gmail.com",
            "email_verified_at":null,
            "created_at":"2020-03-29T10:33:36.000000Z",
            "updated_at":"2020-03-29T10:33:36.000000Z"
         }
      }
   }
}
0
mightyteja 2 अप्रैल 2020, 07:24
उमर जायद का जवाब समस्या को ठीक करना चाहिए। भविष्य में, आप परिणामों के साथ खेलने के लिए हमेशा php artisan tinker का उपयोग कर सकते हैं। आप उस मॉडल का सही टिंकर के अंदर विश्लेषण कर सकते हैं।
 – 
Nahiyan
2 अप्रैल 2020, 07:54
मैंने महसूस किया कि ओमय जायद के जवाब से कोई फर्क नहीं पड़ेगा। परिणामों के साथ खेलने के लिए आप हमेशा php artisan tinker का उपयोग कर सकते हैं। यह काफी हद तक एक आरईपीएल है; डिबगिंग के लिए बिल्कुल सही। क्या आप इसका उपयोग करके देख सकते हैं कि आपको क्या मूल्य मिलता है?
 – 
Nahiyan
2 अप्रैल 2020, 08:04

2 जवाब

मुझे नहीं लगता कि आप डेटा को जेसन में एन्कोड कर रहे हैं और फिर दृश्य में भेज रहे हैं। ऐसा लगता है कि यह एक जेसन ऑब्जेक्ट है, PHP सरणी नहीं। यही कारण है कि ब्लेड इसके माध्यम से पुनरावृति नहीं कर सकता है। यदि आप इसे जेसन के रूप में एन्कोड कर रहे हैं तो ऐसा न करने का प्रयास करें। या दृश्य में भेजने से पहले इसे डीकोड करने का प्रयास करें।

return view('viewname')->with(['new_installation_order' => json_decode($new_installation_order)])

फिर इसे आजमाएं

{{$new_installation_order->newInstallationPrePayment->newInstallation->district }}

आप ब्लेड फ़ाइल में जेसन को डीकोड भी कर सकते हैं। वह करें जो आपके लिए सबसे अच्छा काम करे।

1
omar jayed 2 अप्रैल 2020, 08:27
इससे कोई फर्क नहीं पड़ेगा। $variable['key'] और $variable->key बराबर हैं।
 – 
Nahiyan
2 अप्रैल 2020, 08:04
1
धन्यवाद @नाहियां। मुझे यह याद आ रहा था। उसके लिए माफ़ करना। हालांकि, मैंने अपना जवाब संपादित कर लिया। कृपया मुझे बताएं कि क्या यह आपके लिए काम करता है।
 – 
omar jayed
2 अप्रैल 2020, 08:29
1
धन्यवाद @omarjayed, Nahiyan - मैंने मॉडल संबंध में राज्य को राज्य और जिले से जिले में अद्यतन किया और यह काम करना शुरू कर दिया .. मैं सोच रहा हूं कि कैसे !!
 – 
mightyteja
2 अप्रैल 2020, 08:31
मुझे यकीन है कि आपका डीबी इंजन केस-संवेदी है। अलग-अलग कैपिटलाइज़ेशन के साथ कुछ SQL क्वेरी चलाने की कोशिश करें और हमें बताएं? यह भविष्य में किसी की मदद कर सकता है।
 – 
Nahiyan
2 अप्रैल 2020, 08:36

आप संपूर्ण ऑब्जेक्ट के बजाय विशिष्ट पैरामीटर को अपने दृश्य में पास करने का प्रयास करना चाह सकते हैं। मुझे संदेह है कि ऐसा इसलिए है क्योंकि आप जेसन को एक स्ट्रिंग के रूप में देखने के लिए पास कर रहे हैं।

तो इसके बजाय कुछ इस तरह का प्रयास करें:


$district = $new_installation_order['newInstallationPrePayment']['newInstallation']['district'];

return view('test')->with(['district' => $district]);

क्या आप पूरी विधि पोस्ट कर सकते हैं जिसे आपके नियंत्रक पर बुलाया जा रहा है, या कम से कम वापसी विवरण?

0
mchljams 2 अप्रैल 2020, 08:20
धन्यवाद mchljams - मैंने मॉडल संबंध में राज्य को राज्य और जिले से जिले में अद्यतन किया .. इसकी कार्यप्रणाली
 – 
mightyteja
2 अप्रैल 2020, 08:33