基本上我有一个页面可以更新用户记录。
{!! 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'])!!}
现在我遇到了两个问题:
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');
}
有谁知道如何解决这个问题?我正在跳跃laravel有办法处理这些事情。
作为参考,我正在使用laravel 5.
答案 0 :(得分:5)
使用:$(document).ready(function () {
$("#OpenDialog").click(function () {
$("#dialog").dialog({
modal: true,
height: 590,
width: 1005
});
});
});
代替:$request->get('password');
<强>为什么:强>
$request->only('password');
- 返回包含列出字段的数组
在这种情况下,它只返回一个只有一个键和空值的数组,但是数组不为空。