【发布时间】:2014-07-25 06:59:30
【问题描述】:
我有一个表单,用户可以通过它更新他的数据(姓名、姓氏、状态 ...)
在另一个页面中,我希望有一个表单,用户可以通过该表单编辑和更新 status 字段并保持其他字段不变 我应该在 UserController 中创建另一个更新函数吗?由于当前需要表单中存在其他字段。
如果我需要一个新的处理程序,我应该如何将表单操作路由到该函数?
【问题讨论】:
我有一个表单,用户可以通过它更新他的数据(姓名、姓氏、状态 ...)
在另一个页面中,我希望有一个表单,用户可以通过该表单编辑和更新 status 字段并保持其他字段不变 我应该在 UserController 中创建另一个更新函数吗?由于当前需要表单中存在其他字段。
如果我需要一个新的处理程序,我应该如何将表单操作路由到该函数?
【问题讨论】:
我会使用另一个更新功能,比如说你的 UserController 中的updateStatus。您将在此函数中使用特定的验证器。
如果您的用户模型中有一些这样的验证规则:
public static $rulesUpdate = [
'name' => 'required',
'lastname' => 'required',
'status' => 'required',
];
我会在你的updateStatus 函数中做:
$status = Input::get('status');
$validatorStatus = Validator::make(['status' => $status], ['status' => User::$rulesUpdate['status']]);
if ($validatorStatus->passes()) {
// Your logic here, maybe something like this
$user->status = $status;
$user->save();
}
这里的好处是您使用相同验证规则。
为方法创建一个新路由,例如:
Route::put('/users/status', ['before' => 'auth', 'uses' => 'UsersController@putStatus']);
【讨论】: