我有角色表。在角色表中存储新数据时,我需要检查role_name,并且role_id已经存在。怎么能检查laravel?
id role_name role_id
1 admin 1
2 user 2
RoleRequest.php
class RoleRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'role_name' => 'required|unique:role|max:50',
'role_id' => 'required|unique:role|max:10'
];
}
}
答案 0 :(得分:4)
如果要确保数据库中的字段存在,可以使用exists验证规则执行此操作。
可以按如下方式使用:
exists:table,column
所以,例如,
public function rules()
{
return [
'role_name' => 'exists:roles,role_name''
];
}
但是,如果您想确保数据库中的字段唯一,则可以使用unique验证规则,如下所示:
public function rules()
{
return [
'role_name' => 'unique:roles,role_name''
];
}
答案 1 :(得分:0)
您可以使用唯一验证规则,但您还需要设置列名
return [
'role_name' => 'required|unique:roles,role_name|max:50',
'role_id' => 'required|unique:roles,role_id|max:10'
];
答案 2 :(得分:0)
public function rules()
{
return [
'role_name' => 'required|max:50|unique:roles,role_name',
'role_id' => 'required|max:10|unique:roles,role_id'
];
}
答案 3 :(得分:0)
public function rules()
{
return [
'role_name' => 'required|max:50|unique:roles,role_name',
'role_id' => 'required|max:10|unique:roles,role_id'
];
}