Mat*_*art 4 php laravel laravel-5
本质上,我有一个页面可以更新用户记录。
{!! Form::label('username', 'Username:') !!}
{!! Form::text('username', null, ['class'=>'form-control'])!!}
{!! Form::label('password', 'Password:') !!}
{!! Form::password('password',['class'=>'form-control'])!!}
{!! Form::label('name', 'Name:') !!}
{!! Form::text('name', null, ['class'=>'form-control'])!!}
{!! Form::label('email', 'Email:') !!}
{!! Form::text('email', null, ['class'=>'form-control'])!!}
Run Code Online (Sandbox Code Playgroud)
现在我面临两个问题:
1)例如,如果我不想更改用户密码,而只是编辑名称,它将更新用户密码为空(或“”)。这是因为提交时文本框为空。
这是我在控制器中尝试的过程,没有任何喜悦
public function update($id, Request $request)
{
$user = User::findOrFail($id);
$newPassword = $request->only('password');
if(empty($newPassword)){
$user->update($request->except('password'));
}else{
$user->update($request->all());
}
return redirect('users');
}
Run Code Online (Sandbox Code Playgroud)
有人知道我该如何解决吗?我希望laravel有办法处理这些事情。
作为参考,我正在使用laravel 5。
使用: $request->get('password');
代替: $request->only('password');
为什么:
$request->only(); -返回带有列出字段的数组
在这种情况下,它返回只有一个键和空值的数组,但数组不为空。