我正在使用“unique”关键字验证控制器中employee_id的唯一用户,在我的数据库中有名为company_id的列,而添加新用户他们将为我们设置一些company_id,当我为公司员工添加新用户时对于我公司本身,id将是唯一的,如果employee_id对于另一家公司是4,并且我必须接受为我的公司添加4,它将仅检查该特定公司。
$this->validate($request,
[
'name' => 'required',
'emp_id' => 'required|unique:users', (Here how can i check for particular company)
'email' => 'required|unique:users',
'role' => 'required',
]);
谁能帮助我?
答案 0 :(得分:2)
您应该在此处使用数组语法并使用“自定义”唯一规则:
'emp_id' => [ "required", Rule::unique('users')->where(function ($query) use ($request) {
$query->where('emp_id', $request->emp_id)->where("company_id",$request->company_id);
}) ]
无论如何都是这样的
答案 1 :(得分:1)
如果请求emp_id
和company_id
'emp_id' => 'required|unique:users,emp_id|unique:users,company_id',
签入文档:https://laravel.com/docs/master/validation#rule-unique
我认为emp_id
表中存在company_id
和users
并且您要发送请求