如何在laravel中的Policy删除方法上传递第三个参数?

时间:2019-07-18 05:55:22

标签: laravel laravel-5.8

我想接受Policy的Delete方法中的第三个参数。当前,它仅接受两个参数,第一个是 User 和第二个 Group

我希望在 GroupPolicy deleteMedia 方法中将第三个参数作为 Media 模型。

当我在 deleteMedia 方法的 Media 中传递了第三个参数时,它给了我以下错误。

  

函数GroupPolicy :: deleteMedia()的参数太少,第691行的src / Illuminate / Auth / Access / Gate.php中传递了2个参数,而恰好是3个参数

控制器

public function __construct()
{
   $this->authorizeResource(Group::class);
}


public function destroy(Group $group, Media $media)
{
   dd('In destroy method');
}

protected function resourceAbilityMap()
{
   return [
    'destroy' => 'deleteMedia',
   ];
}

GroupPolicy

class GroupPolicy
{
    public function deleteMedia(): bool
    {
        dd(func_get_args());
    }
}

如何在策略中传递和获取媒体模型?

谢谢。

0 个答案:

没有答案