سلام دوستان .
وقت بخیر .
امید وارم خوب باشید .
من یک جدولی دارم به به اسم customer_owner که یک جدول واسطه هست و یک فیلد status هم به صورت pivot داره به این صورت :
مشکل اینجاست که ما یک سری متد داریم برای ذخیره کردنشون :
حالا -> من اگه 10 تا رکورد ثبت کنم و status = 0 باشه و بعد از فراخوانی اونها برم status = 1 کنم ، دفعه بعد بخوام توسط متد های بالا 5 تای اونهارو ذخیره کنم یک مشکلی هست : یا استاتوس ها اعمال نمیشن چون از اول اتچ میشه . یا اعمال میشه و همون 10 تارو نشون میده !!
امید وارم تونسته باشم مشکلم رو درست بیان کنم.
پیشاپیش ممنون از اینکه وقت میزارید.
جواب سوال بالا
شما میتونید به متد sync مقدار pivot رو بدید و در هر بار اینم به همراه بقیه آپدیت میشه .
sync([
related_id => ['pivot_field' => value],
...
]);
دو مثال زیر در مستندات رسمی لاراول آورده شده و به نظرم پاسخ سوالتون هم هست:
$user->roles()->sync([1, 2, 3]);
//You may also pass additional intermediate table values with the IDs:
$user->roles()->sync([1 => ['expires' => true], 2, 3]);
//If you would like to insert the same intermediate table values
//with each of the synced model IDs, you may use the syncWithPivotValues method:
$user->roles()->syncWithPivotValues([1, 2, 3], ['active' => true]);
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟