mysql - Laravel Eloquent : Using ->update(), 如果不是 "integrity constraint violation: 1062 Duplicate entry",则只需更新

标签 mysql laravel eloquent duplicates

当我在我的模型上执行 ->update() 时,我收到此错误:

 SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry...

我知道为什么,那很好。我想要实现的是,它会更新所有行,除了出现此约束冲突的行。这可能吗?

最佳答案

您需要更改查询以排除您的条件:

User::where('id', '!=', $request->id)->update($request->only('fields..'));

这里我使用 ID,您将需要使用抛出带有值的异常的列。

关于mysql - Laravel Eloquent : Using ->update(), 如果不是 "integrity constraint violation: 1062 Duplicate entry",则只需更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57832662/

相关文章:

php - Laravel Eloquent 模型查询 `not null`

Laravel - 创建和附加 - 多对多关系

mysql - 从 MySQL 迁移到 Crate

php - 使用 IN 子句与多个 SELECT

php - 移动保留原始 ID 但允许在目标表中自动递增的行

php - Laravel 5.1 + PHPunit - API 测试总是返回无效参数错误

php - Laravel 4 迁移

sql - 通过连接表进行排序和计数的 SELECT

php - 我无法从我的代码中获得所需的结果

MYSQL 空空 IsSet