我有一个用户可以在视图中添加或删除的动态表单元素(比如书名的名称)。创建轻而易举,因为当请求到达控制器以保存到数据库时,所有书籍模型都是新的。在更新过程中,如果所有书籍模型都保持不变,修改或添加新模型,我可以完成updateOrCreate
所有三个案例都满足的任务。
现在的问题是当用户选择在视图中移除一本书时;Laravel 尝试保存已删除的模型:
SQLSTATE [23000]:违反完整性约束:1048 列 'column_name' 不能为空
有没有一种updateCreateOrDelete
方法或类似的方法?我不想删除数据库中的所有书籍并重新创建它们,因为这是懒惰的,如果系统具有审计系统,则不建议这样做。
基本上我有一个可以添加或删除的输入数组:
- 如果有任何更新,那么只需更新他们的数据库条目;
- 如果
n
添加,则创建这些新n
值; - 如果
m
被删除,m
则从数据库中删除这些值