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

Laravel,通过控制器中相同的更新方法编辑/更新特定字段,laravel,crud,Laravel,Crud,我有一个表单,用户可以通过该表单更新其数据(姓名、姓氏、状态…) 在另一个页面中,我希望有一个表单,用户可以通过该表单编辑和更新状态字段,并保持其他字段不变 我应该在UserController中创建另一个更新函数吗?因为当前字段要求表单中存在其他字段 如果我需要一个新的处理程序,我应该如何将表单操作路由到该函数?我会选择另一个更新函数,比如在UserController中的updateStatus。您将在此函数中使用特定的验证器 如果用户模型中有如下验证规则: public static $r

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

在另一个页面中,我希望有一个表单,用户可以通过该表单编辑和更新状态字段,并保持其他字段不变 我应该在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']);

谢谢,您指出了相同验证规则的优点。