Laravel 特定列的唯一关键字
Laravel Unique keyword for particular Column
我正在使用 "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',
]);
谁能帮帮我???
如果 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
table 中并且您正在发送请求
您应该在此处使用数组语法并使用 "custom" 唯一规则:
'emp_id' => [ "required", Rule::unique('users')->where(function ($query) use ($request) {
$query->where('emp_id', $request->emp_id)->where("company_id",$request->company_id);
}) ]
反正就是这样
我正在使用 "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',
]);
谁能帮帮我???
如果 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
table 中并且您正在发送请求
您应该在此处使用数组语法并使用 "custom" 唯一规则:
'emp_id' => [ "required", Rule::unique('users')->where(function ($query) use ($request) {
$query->where('emp_id', $request->emp_id)->where("company_id",$request->company_id);
}) ]
反正就是这样