首页 > 解决方案 > 如果请求密码为空,如何忽略数据库中的密码?

问题描述

我的密码字段被重新散列,即使它是空的..

控制器代码:

   $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);

标签: laravel

解决方案


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

$request->has('password')即使'password'没有值$request->filled('password')也会返回true,而只有当'password'有值时才会返回true。

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

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


推荐阅读