Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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 6_Laravel Authorization - Fatal编程技术网

Php Laravel策略方法参数计数问题

Php Laravel策略方法参数计数问题,php,laravel,laravel-6,laravel-authorization,Php,Laravel,Laravel 6,Laravel Authorization,尝试授权某些新闻策略时出现以下错误: 函数App\Policies\NewsPolicy::create()的参数太少,在第706行的laravel\framework\src\illumb\Auth\Access\Gate.php中传递了1个参数,预期正好是2个参数 我在命名空间App\Models下有一个News模型,在App\Policies下有一个NewsPolicy 另外,我在我的AuthServiceProvider中有自定义的Gate::guessPolicyNamesUsing(

尝试授权某些
新闻策略时出现以下错误:

函数App\Policies\NewsPolicy::create()的参数太少,在第706行的laravel\framework\src\illumb\Auth\Access\Gate.php中传递了1个参数,预期正好是2个参数

我在命名空间
App\Models
下有一个
News
模型,在
App\Policies
下有一个
NewsPolicy

另外,我在我的
AuthServiceProvider
中有自定义的
Gate::guessPolicyNamesUsing()
,具有下一个回调:

Gate::guessPolicyNamesUsing(function ($modelClass) {
    return ['\\App\\Policies\\' . class_basename($modelClass) . 'Policy'];
});
我发现,出于某种原因,Laravel在
illighted\Auth\Access\Gate::callPolicyMethod()
删除了带有模型类名的参数:


但是为什么我的策略不知道他们授权了什么模型呢?

好的,问题是
viewAny
create
方法不需要模型类的第二个参数

应该是这样的:

public function create(User $user)
{
    //
}
public function create(User $user)
{
    //
}