我在地点和车站之间建立了多对多关系。一个位置可以有多个指定的桩号,但只能有一个处于活动状态。我有一个透视表(station_location),我在其中使用setActive方法设置is_active属性,但我正在试图找到一种合理的方法,将其中一个设置为活动,将所有其他设置为非活动。
我需要它是可重复使用的,因为我必须在多个地方设置它(不仅仅是从控制器)。我想知道是否有人知道如何做到这一点?
您可以使用如下所示的sync
方法
$station->locations()
->sync([1 => ['is_active' => true], 2 => ['is_active' => false], 3 => ['is_active' => false]]);
点击此处了解更多
PS:1,2,3等在传递的数组中是位置id。