我可以通过@can将动态值传递给门吗?

时间:2017-09-12 12:22:15

标签: laravel laravel-5

我想将动态值传递给门,以防止刀片中存在阻塞,例如。如果我想通过刀片页打印偶数。

@for($i=0;$i<=10;$i++)
 @can('print-even',$i) // i know its not possible i want to is there any other way
   <div > div to display </div>
 @endcan
@endfor

在AuthSerivceProvider.php

public function boot(GateContract $gate)
{
    $this->registerPolicies($gate);


    $gate->define('print-even', function($number){
        return $number % 2 == 0;
    });


}

同样聪明,我想知道有没有办法将动态值传递给门?

1 个答案:

答案 0 :(得分:0)

你可以传递额外的简单添加门

$gate->define('print-even', function($user,$number){
    return $number % 2 == 0;
});

默认情况下,第一个参数是当前的Auth :: user()。