在我的 Laravel 应用程序中,我可以选择更新用户详细信息,以下是我的控制器中的更新功能
public function update(Request $request, $id)
{
$this->validate($request, [
'name' => 'required',
'email' => 'required|email|unique:users,email,'.$id,
'password' => 'same:confirm-password',
'comp_id'=>'required',
'roles' => 'required'
]);
$input = $request->all();
if(!empty($input['password'])){
$input['password'] = Hash::make($input['password']);
}else{
$input = array_except($input,array('password'));
}
$user = User::find($id);
$user->update($input);
DB::table('model_has_roles')->where('model_id',$id)->delete();
$user->assignRole($request->input('roles'));
return redirect()->route('customers.index')
->with('success','Customer updated successfully');
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试执行上述函数时收到错误消息,
Call to undefined function App\Http\Controllers\array_except()
Run Code Online (Sandbox Code Playgroud)
我也在其他更新函数中使用了相同的代码,但它们工作没有问题。
有人可以解释一下为什么同时执行交易是可取的吗?搜索了几个小时,我找不到一个明确的答案.谢谢.