حسن غویشه
4 سال پیش توسط حسن غویشه مطرح شد
3 پاسخ

ذخیره داده های اضافی در روابط Many to Many Polymorphic

درود وقت بخیر

یک جدول دارم برای ناشران ( که داخلش ناشر های فیلم های سینمایی مثل فیلیمو و ... قرار گرفته )

این جدول ناشران یک رابطه Many to Many Polymorphic با جدول فیلم ها داره

که در جدول رابط آیدی ناشر ، آیدی فیلم و تاریخ انتشار و ... ذخیره میشه

برای ذخیره اطلاعات پایه ( آیدی ناشر و آیدی فیلم ) در جدول میانی مشکلی ندارم

منتهی نمیتونم تاریخ انتشار رو ذخیره کنم

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

کدی که برای ذخیره سازی استفاده می کنم

$movie->publishers()->attach( $request->input('publisher') );

لطفا راهنمایی نمایید

با سپاس فراوان 😃


ثبت پرسش جدید
رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 4 سال پیش مطرح شد
0

سلام وقتتون بخیر!

برای ذخیره باید به این روش بری جلو!

البته من اینطوری کار میکنم!

$movie->publishers()->sync([
["filed"=>$movie->publishers()->attach( $request->input('publisher') );],
]);

کد بالا اطلاعات قبلی رو حذف میکنه
پارامتر دوم sync میتونی false پر کنی که اطلاعات بمونه


رضا جهانگیر
تخصص : Full-Stack Developer
@rezajahangir 4 سال پیش مطرح شد
0

سلام.
اطلاعاتی که نیاز دارینو باید داخل جدول واسط ذخیره کنین.
روش ذخیره سازیتون هم درسته و مشکلی نداره.


حسن غویشه
@ecma262 4 سال پیش آپدیت شد
0

طبق راهنمایی جناب آقای علی بیات @ali.bayat در گفتگو "دخیره داده در رابطه many to many" پیش رفتم و حالا مقدار publishtime در جدول رابط ذخیره میشه!

البته با کمی تغییر

        $publishers = $request->input('publisher');

        foreach ($publishers as $publisher) {
            $movie->publishers()->sync( $publishers, [ 'publish_time' => $publisher['publish_time'] ] );
        }

منتهی بعدش خطا میده :|

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


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

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