ftp
4 سال پیش توسط ftp مطرح شد
2 پاسخ

ارور null دادن

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

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

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


ثبت پرسش جدید
Saman
تخصص : برنامه نویس وب
@samanzdev 4 سال پیش مطرح شد
Muhammad
تخصص : Back-End Developer
@muhammad 4 سال پیش آپدیت شد
0

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

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

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


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

 public function edit($service_id, Product $product)

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


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

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