Laravel,通过控制器中的相同更新方法编辑/更新特定字段

时间:2014-06-04 14:46:04

标签: laravel crud

我有一个表单,用户可以通过该表单更新他的数据(姓名,姓氏,状态 ...)

在另一个页面中,我希望有一个表单,用户可以通过该表单编辑和更新状态字段并保持其他字段不变 我应该在UserController中创建另一个更新功能吗?由于当前的要求存在形式中的其他字段。

如果我需要一个新的处理程序,我应该如何将表单操作路由到该函数?

1 个答案:

答案 0 :(得分:1)

我会去另一个更新功能,让我们在你的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']);