使用 laravel 插入新行或删除旧行(如果它已存在)

INSERT new row or DELETE old row IF it already exists using laravel

我正在使用 复选框 为员工分配多项技能。当用户选中 复选框 时,一条新记录将插入数据透视表 table。如果用户取消选中复选框,一条记录将被删除。

现在我想知道是否有任何用于插入或删除的函数,就像存在用于新插入或更新的函数,即 updateOrCreate 来更新现有记录或创建新记录,如果none 存在。

我可以通过艰苦的方式做到这一点。但只想知道是否有类似 updateOrCreate 的任何功能。

使用sync 方法它将旧值替换为新值。

$employee->skill()->sync($request->checkedSkill)