我正在使用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,所以我想知道在哪里可以找到这个问题?
感谢。
答案 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',
];
}
希望这有帮助!