如何将模型数据从刀片文件传递到策略类

时间:2019-05-26 16:54:56

标签: php laravel laravel-blade

您好,我正面临laravel,gate的问题,我正试图将Model类数据传递给gate函数并检查一些Model类数据。 但是问题是无法将模型从刀片文件传递给门功能。

这是我的模型,AuthServiceProvider,并查看文件代码。

view.blade.php

 @can('create-role',permission::class)
                 <div class="text-center">
                    <a href="" class="btn btn-success btn-rounded mb- 
                     4">Add</a>
                    </div>
                @endcan

AuthServiceProvider.php

    Gate::define('create-role', function ( $permissionrole) {
    $id = Auth::user()->id;
         $permissionid = 1;   

        foreach ($permissionrole as $value) {          
      if($value->user_id == $id && $value->permisions_id == $permissionid)
            {
                return  true;
            }
            return false;
        }
        });  
}

模型文件

  protected $table = 'permissions';
  protected $primaryKey  = 'permission_id';
  protected $fillable = [
  name','for',]; 
  public $incrementing = false;

1 个答案:

答案 0 :(得分:0)

您应该在__qualname__指令中传递permission模型而不是permission::class;那么您可以访问它:

@can