Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel强制唯一角色验证在表单请求中失败_Php_Laravel_Laravel 5.4_Laravel Validation - Fatal编程技术网

Php Laravel强制唯一角色验证在表单请求中失败

Php Laravel强制唯一角色验证在表单请求中失败,php,laravel,laravel-5.4,laravel-validation,Php,Laravel,Laravel 5.4,Laravel Validation,我的控制器如下: public function update(PermissionFormRequest $request,$id) { $permissionUpdated = $this->permission->update($request,$id); if($permissionUpdated){ //return $permissionUpdated; return 'updated'; } return

我的控制器如下:

public function update(PermissionFormRequest $request,$id)
{
    $permissionUpdated = $this->permission->update($request,$id);
    if($permissionUpdated){
        //return $permissionUpdated;
        return 'updated';
    }
    return response()->json(['message' => 'Can not update ticket']);    
}
申请表格代码为:

public function rules()
{
    return [
        'name' =>'required|unique:permissions,name,'.$this->id,
    ];
}
尝试使用相同id进行更新时,会引发以下错误:

{name:[该名称已被使用。]}

要获取请求中的id,可以使用route方法。请记住,在routes.php文件中使用的route'id'中使用参数名称

希望这有帮助

要获取请求中的id,可以使用route方法。请记住,在routes.php文件中使用的route'id'中使用参数名称


希望这有帮助

在表单请求中,您可以通过两种方式获取id,一种是段,另一种是路由函数

如果您使用的是资源控制器,如

路由::资源“权限”,“权限控制器”;然后$this->route'permission'

您正在使用自定义路由,如/permissions/{id},然后使用$this->route'id'

或者我们也可以使用段从路由获取id

public function rules()
{
    $id = $this->segment(3);
    return [
        'name' =>'required|unique:permissions,name,'.$id,
    ];
}

在表单请求中,您可以通过两种方式获取id,一种是段,另一种是路由函数

如果您使用的是资源控制器,如

路由::资源“权限”,“权限控制器”;然后$this->route'permission'

您正在使用自定义路由,如/permissions/{id},然后使用$this->route'id'

或者我们也可以使用段从路由获取id

public function rules()
{
    $id = $this->segment(3);
    return [
        'name' =>'required|unique:permissions,name,'.$id,
    ];
}

为什么不使用'name'=>'required | unique:权限,名称'。$id,我想你没有得到$this->id@HirenGohel我已经试过了,但是$id表示未定义的变量id。所以$this->id给了你id??试一下:$request->input'id'@NileshsinhRathod来获取路由参数,你可以使用$id=$this->route'id';为什么不使用'name'=>'required | unique:权限,名称'。$id,我想你没有得到$this->id@HirenGohel我已经试过了,但是$id表示未定义的变量id。所以$this->id给了你id??试一下:$request->input'id'@NileshsinhRathod来获取路由参数,你可以使用$id=$this->route'id';
public function rules()
{
    $id = $this->segment(3);
    return [
        'name' =>'required|unique:permissions,name,'.$id,
    ];
}