【发布时间】:2018-09-16 06:25:29
【问题描述】:
我试图忽略给定 ID 的唯一角色,但我不断收到以下错误:
SQLSTATE[23000]:违反完整性约束:1062 重复条目 'user@updated.com' 键 'users_email_unique' (SQL:更新
users设置name= 名称,updated_at= 2018-04-06 10:01:27 其中id= 1)
在我的UserUpdateRequest 课程中,我设置了规则:
public function rules()
{
return [
'email' => 'required|email|unique:users,email,' . $this->route()->parameter('user'),
'name' => 'required',
];
}
$this->route()->parameter('user') 获取当前模型 ID。
不确定我在这里的规则做错了什么,有人有什么想法吗?
这里是我调用更新的地方:
public function update(Requests\UserUpdateRequest $request, $id)
{
$result = $this->service->update($request->except(['_token', '_method']));
if ($result) {
return back()->with('message', 'Successfully updated');
}
return back()->with('message', 'Failed to update');
}
数据库:
【问题讨论】:
-
users表的主键是什么? -
@Kyslik 主键是id列。
-
我认为代码是正确的,您在数据库中只有两个条目,而您正试图用第二个的电子邮件更改第一个。由于违反完整性约束:1062 键“users_email_unique”的重复条目“user@updated.com”(SQL:更新
-
@Kyslik 你是对的。我没有传递 ID,而是更新了当前登录的用户。如果你设置一个答案,我会接受。
-
把它交给@Matthias S。祝你好运! :)
标签: php laravel validation laravel-5 validationrules