Laravel更新请求验证如何获取id

时间:2017-08-30 11:08:16

标签: laravel

我正在使用Laravel 5.2并且我已经设法为我的用户正确设置了更新请求,但是当我对另一个表(群集)执行完全相同的操作时,我无法在clusterrequest验证中获取id。

以下是我对我的群集所拥有的内容: 路线:

Route::post('clusterFormUpdate/{id}', ['uses'=>'ClusterController@postFormUpdate','middleware' => ['permission:user-edit']]);

控制器:

public function postFormUpdate(ClusterUpdateRequest $request, $id)
{
    $inputs = $request->all();

ClusterUpdateRequest:

...
public function rules()
{

    $id = $this->id;
    dd($id);

    return [
        'name'      => 'required|max:255|unique:clusters,name,' . $id . ',id',
        'countries' => 'required',
    ];
}

当我运行它时,我得到null。

如果我为我的用户表尝试相同的操作,我会得到正确打印的ID,所以我想知道在哪里可以找到这个问题?

感谢。

1 个答案:

答案 0 :(得分:4)

要获取Request中的ID,您可以使用route()方法:

public function rules()
{
    $id = $this->route('n'); //or whatever it is named in the route

    return [ 
        'name'      => 'required|max:255|unique:clusters,name,' . $id . ',id',
        'countries' => 'required',
    ];
}

希望这有帮助!