如果请求密码为空,如何忽略数据库中的密码?

时间:2019-07-20 11:55:06

标签: laravel

即使密码为空,我的密码字段也会重新散列。

控制器代码:

   $request_data = $request->except(['password','_token','_method','avatar']);

   if($request->has('password')){

        $request_data['password'] = Hash::make($request->input('password'));
   }

   Admin::where('id' , $id)->update($request_data);

1 个答案:

答案 0 :(得分:1)

$request->has('password')替换为$request->filled('password')

$request->has('password')将返回true,即使'password'没有值,而$request->filled('password')仅在'password'具有某些值时才返回true。

您也可以使用$request->get('password')$request->input('password')

有关更多详细信息,您可以查看https://laravel.com/docs/5.8/requests