【发布时间】:2018-05-07 18:18:05
【问题描述】:
我在更新期间对员工记录进行验证。有些字段应该是唯一的。但是在更新员工记录期间,正在完成对唯一字段的验证。我也研究并尝试了解决方案。 但我收到了这个错误:
错误代码:904 错误消息:ORA-00904:“ID”:无效标识符 位置:71 语句:select count() as aggregate from "EMPLOYEES" 其中 "EMAIL" = :p0 和 "ID" :p1 绑定: [ad@sdfdsf.com,3336] (SQL: select count() as aggregate from “EMPLOYEES”,其中“EMAIL”= ad@sdfdsf.com 和“ID” 3336)
这是我对解决方案的尝试:
public function update(Request $request, int $employee_id) {
$this->validate ( $request, [
'first_name' => "required|max:220|regex:/[a-z]/",
'middle_name' => "max:120",
'last_name' => "required|max:220|regex:/[a-z]/",
'email' => "required|unique:employees, email, $employee_id|regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}/",
'home_phone' => "unique:employees,home_phone, $employee_id|numeric|regex:/^[09][0-9]{8,9}$/",
'mobile' => "unique:employees,mobile, $employee_id|numeric|regex:/(9)[0-9]{9}/",
'job_id' => 'required',
'department_id' => 'required',
'group_id' => 'required',
'node' => 'required',
'branch' => 'required',
'username' => "required|unique:employees,username, $employee_id|regex:/[A-Za-z0-9][.][A-Za-z0-9]/",
'exchange_username' => "required|unique:employees,exchange_username, $employee_id|regex:/[A-Za-z0-9][.][A-Za-z0-9]/",
'extension' => "unique:employees,extension, $employee_id|numeric|regex:/[0-9]{4}/",
] );
Employee::where ('employee_id', $employee_id )->update ( $request->only ( [
'first_name',
'middle_name',
'last_name',
'email',
'address',
'home_phone',
'mobile',
'job_id',
'department_id',
'group_id',
'branch',
'node',
'name',
'username',
'type',
'exchange_username',
'toggle_ivr_access',
'extension',
'attributed_team',
'cable_team_id',
'disable',
] ) );
Session::flash ( 'message', 'The Employee is Successfully Updated.' );
return redirect ()->route ( 'employees.index' );
}
【问题讨论】:
-
检查您的列名。您必须输入有效的列名。当你没有出现这个错误时。
-
我已经检查过了。列名正确。
-
71是哪一行? -
请在下面查看我更新的部分。我已经发布了导致错误发生的错误部分。