Laravel 中的授权策略参数错误

Posted

技术标签:

【中文标题】Laravel 中的授权策略参数错误【英文标题】:Authorization Policy argument Error in Laravel 【发布时间】:2018-08-06 06:43:31 【问题描述】:

我能用这个做什么:

"传递给 App\Policies\NotePolicy::update() 的参数 1 必须是 App\Note 的实例,App\User 的实例给定,调用 /Users/acny/Desktop/project/vendor/laravel/framework/src/Illuminate/Auth/Access/Gate.php 在线481(查看:enter code here /Users/acny/Desktop/project/resources/views/notes/edit.blade.php)"

NotePolicy.php

public function update(Note $note, User $user)
    
        return $user->id == $note->user_id;
    

edit.blade.php(用于显示更新按钮):

@can('update', $note)
        <button type="submit" class="btn btn-primary">Update Note</button>
@endcan

如果我在 edit.blade.php 中编写所有内容而不是“更新”,那么我没有错误,但这不是我想要的。 感谢您的帮助

【问题讨论】:

【参考方案1】:

https://laravel.com/docs/5.6/authorization#writing-policies

Laravel 将 $user 作为第一个参数传递。转换你的论点。

【讨论】:

以上是关于Laravel 中的授权策略参数错误的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 PHPUnit 中的“PHP 致命错误:未捕获的 TypeError:getTest() 参数”错误

微信公众平台,微信网页授权,redirect_uri参数错误,解决方法!

微信公众平台,微信网页授权,redirect_uri参数错误,解决方法!

微信的redirect_uri参数错误原因分析

Laravel中的一些路由问题,老是报404错误

域路由错误 Laravel 中缺少必需的参数