راکت

ارور null دادن

2 پاسخ

من در کنترلر این رو نوشتم

 public function edit($service_id, Product $product)
{
    $facilities = Facility::where('status', Facility::ACTIVE_STATUS)->pluck('title', 'id')->toArray();
    $features = Feature::get();
    $product=Product::find($service_id);
    foreach ($features as $feature)
        if ($field = $product->feature_p()->find($feature->id))
            $feature['value'] = $field->pivot['value'];
    return view('admin.products.create', compact('service_id', 'product','facilities','features'));
}

در مدل هم اینو نوشتم

public function feature_p()
{
    return $this->belongsToMany(Feature::class)->withPivot('value');
}

اما این ارور رو میده
توضیح تصویر رو وارد کنید

ftp
ftp
@ftp
ثبت پرسش جدید

پاسخ‌ها

2
Saman
Saman
@samanzdev

تخصص: برنامه نویس وب

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

ارور خیلی واضحه

$product=Product::find($service_id);

رکوردی با آیدی service_id پیدا نکرده و برای همین میگه روی null دارین اون رلیشن رو صدا می‌زنین. می‌تونین findOrFail استفاده کنین تا متوجه حرفم بشین.


راستی شما مدل Product رو بایند کردید:

 public function edit($service_id, Product $product)

چرا داخل بدنه متد، Product رو مجددا از دیتابیس می‌گیرین؟ :|

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام