我正在使用 Laravel 5.2,成功为用户更新请求设置了正确的内容。但是当我尝试对另一个表(clusters)进行相同的操作时,无法在 clusterrequest 验证中获取 id。
以下是我的 clusters 相关的内容:
路由:
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,所以我想知道我可以在哪里查找此问题?
谢谢。
__get()
方法。如果在请求中找不到值,它会假定您正在尝试从路由中获取该值。如果您在QueryString
或POST
请求中拥有id
,这将不起作用,因此最好明确使用(使用param()
方法)。 - Rwd