【发布时间】:2020-07-15 10:02:35
【问题描述】:
我的 Laravel-5.8 中有这个规则
规则:创建
public function rules()
{
return [
'location_name' => [
'required',
'string',
'min:3',
'max:80',
Rule::unique('hr_work_locations', 'location_name', 'company_id')
],
];
}
规则:编辑
public function rules()
{
return [
'location_name' => [
'required',
'string',
'min:3',
'max:80',
Rule::unique('hr_work_locations', 'location_name', 'company_id')->ignore($this->work_location)
],
];
}
根据规则,location_name 对于每个公司 (company_id) 都是唯一的。同样在编辑规则中,
忽略($this->work_location)
用于路线
控制器:创建
public function store(StoreWorkLocationRequest $request)
{
try {
$worklocation = HrWorkLocation::create([
'location_name' => $request->location_name,
'is_active' => 1,
]);
Session::flash('success', 'Work Location is created successfully');
return redirect()->route('hr.work_locations.index');
}
catch (Exception $exception)
{
Session::flash('error', 'Action failed!');
return redirect()->route('hr.work_locations.index');
}
}
我观察到它允许 location_name 作为 England 或 england。
如何使 Rule::unique 区分大小写?
谢谢。
【问题讨论】: