【发布时间】:2017-11-23 23:27:09
【问题描述】:
在 Laravel 5.3 中,我们正在尝试创建一个表单,用户可以在该表单中更新他们的个人资料详细信息,包括新密码。
但是,我们只想在提交密码时设置密码。
我们正在使用处理模型更新的 CRUD 框架,我们不想推出自己的 update(Request $request) 方法。
我们知道您可以注册类似于
的模型观察者User::created(function(User $user){
});
我们希望实现类似于
User::created(function(User $user){
if( $request->has('password') ){
$user->password = bcrypt($request->input('password'));
}
});
但是,当我们访问 $request 时,它完全是空的。例如,如果我们执行dd($request->all());,它是一个空数组,但是如果我们转储出dd($_POST);,我们就会得到一切。
我认为这是因为加载的顺序,而请求系统尚未加载。
有没有一种方法可以在不直接访问$_POST 的情况下获取请求?
谢谢
【问题讨论】:
-
这是什么意思?,laravel 使用 bcrypt 开箱即用地散列密码。
-
再读一遍这个问题,这可能是有道理的,似乎其他人都明白了:D
标签: php laravel request observers