Laravel 5 使用不同主键在编辑字段中进行唯一验证
Laravel 5 unique validation in edit field with different primary key
我正在使用 Laravel 5 中的请求功能,我可以创建一个有效的新白名单项目。
这是编辑功能的规则,我需要它在没有更改的情况下忽略唯一的电子邮件字段。
我正在使用文档中的说明并按如下方式设置我的规则
public function rules()
{
return [
'name' => 'required',
'email'=> 'required|email|unique:whitelists,whitelistID,'.$this->segment('2'),
'level' => 'required',
'position' => 'required'
];
}
我收到错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause' (SQL: select count(*) as aggregate from `whitelists` where `whitelistID` = te2st@test.com and `id` <> 3)
该列使用 whitelistID 作为其主键,这是在白名单模型中使用
设置的
protected $primaryKey = 'whitelistID';
知道为什么默认为 'id' 吗?
你对 unique
的论点有误。这应该会更好:
'email'=> 'required|email|unique:whitelists,email,'.$this->segment('2').',whitelistID',
我正在使用 Laravel 5 中的请求功能,我可以创建一个有效的新白名单项目。
这是编辑功能的规则,我需要它在没有更改的情况下忽略唯一的电子邮件字段。
我正在使用文档中的说明并按如下方式设置我的规则
public function rules()
{
return [
'name' => 'required',
'email'=> 'required|email|unique:whitelists,whitelistID,'.$this->segment('2'),
'level' => 'required',
'position' => 'required'
];
}
我收到错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause' (SQL: select count(*) as aggregate from `whitelists` where `whitelistID` = te2st@test.com and `id` <> 3)
该列使用 whitelistID 作为其主键,这是在白名单模型中使用
设置的protected $primaryKey = 'whitelistID';
知道为什么默认为 'id' 吗?
你对 unique
的论点有误。这应该会更好:
'email'=> 'required|email|unique:whitelists,email,'.$this->segment('2').',whitelistID',