رضا
3 سال پیش توسط رضا مطرح شد
1 پاسخ

attach کردن با دیتای اضافی متغیر

سلام من دوتا جدول دارم که با هم رابطه چند به چند دارن
میخواستم تو جدول میانیشون دیتا اضافه کنم ولی جدول میانیشون علاوه بر id دوتا table دیگه یک مقدار value هم داره که باید پر شه
از دستور attach استفاده کردم و کدم به صورت زیر شد

foreach ($request->facilities as $key=>$facility)
            $estate->facilities()->attach($key,['value'=>$facility]);

این درست کار میکنه ولی فک کنم ساده تر هم بشه نوشت
ولی نمیدونم تو این روش ساده تر مقدار value رو باید چی پاس بدم

            $estate->facilities()->attach(array_keys($request->facilities),['value'=>????]);

$request->facilities رو که پاس میدم ارور array to string میده


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
0

از الگوی زیر استفاده کنید و آرایه تون رو مطابق باهاش بسازید و به attach پاس بدید:

$data = [
    1 => ['expires' => today()],
    2 => ['expires' => today()->addDays(2)],
];

$estate->facilities()->attach($data);

مطالعه بیشتر مستندات رسمی لاراول هم خیلی کمک کننده می‌تونه باشه:
https://laravel.com/docs/8.x/eloquent-relationships#attaching-detaching


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

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