Laravel 中调用未定义函数 App\Http\Controllers\array_ except()

Old*_*iar 1 php laravel

在我的 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)

我也在其他更新函数中使用了相同的代码,但它们工作没有问题。

mk2*_*k21 5

包含use Illuminate\Support\Arr;在您的代码中并进行更改:

$input = array_except($input,array('password'));
Run Code Online (Sandbox Code Playgroud)

$input = Arr::except($input,array('password'));
Run Code Online (Sandbox Code Playgroud)

array_except()在 Laravel 5.8 以上版本中已弃用