【发布时间】:2021-11-18 09:48:30
【问题描述】:
我正在为名为@987654321@ 的表创建一条新记录,其中包括数据库中的一些字段(name、department_id、description)。我需要两个字段的唯一组合(name 和department_id)。如何验证它以创建和更新函数?
在服务请求中:
return [
'params.name' => 'required|unique:services,name and depatment_id',
];
在服务模型中:
public function department()
{
return $this->belongsTo(Department::class);
}
在部门模型中:
public function services()
{
return $this->hasMany(Service::class);
}
在路线中:
Route::apiResource('/services', ServiceController::class)->names([
'store' => 'services_store',
'update' => 'services_update',
]);
例如:
特定部门有服务时,报错!
如果有name = service1和department_id = 1的记录,用户不能再次创建name和department_id的相同记录组合!用户允许使用 (name = service1 和 department_id = another_number) 或 (department_id = 1 和 name = another_name) 创建服务,但不允许使用 (name = service1 和 department_id = 1) 创建新记录
【问题讨论】:
-
您可以添加第二条唯一规则
-
我需要它们一起是独一无二的......不是每个单独的文件都是独一无二的
-
我误会了,我以为您希望
params.name本身在两个数据库字段中是唯一的
标签: laravel validation unique