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);
解决方案
替换$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
推荐阅读
- r - R 中的 tibble 到底是做什么的?
- api - Microsoft Graph 从多个日历中获取事件
- python - 除了 rdpcap 之外,还有其他功能可以使用 scapy 读取 pcap 文件吗?
- java - 调用 stop 后 SimpleMessageListenerContainer 仍然接收消息
- vb.net - process.start() - 获取所有后续进程?
- mysql - XML加载文件将错误数据输入MySQL
- robotframework - 机器人:在测试用例中设置和使用本地列表
- erlang - 从源文件构建自定义 Erlang debian 包
- reactjs - 如何使用 React 中的单个函数独立更改 2 个不同的变量?
- node.js - 如何使用电报网络钩子?