首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >laravel政策未被称为

laravel政策未被称为
EN

Stack Overflow用户
提问于 2019-11-05 19:39:39
回答 1查看 546关注 0票数 2

文档是隐藏了什么,还是隐藏了什么?

创建与

php手工制作:策略AdvertisementPolicy --模型=广告

代码语言:javascript
运行
复制
class AdvertisementPolicy
{
    use HandlesAuthorization;

    /**
     * Determine whether the user can view any advertisements.
     *
     * @param  \App\User  $user
     * @return mixed
     */
    public function viewAny(User $user)
    {
        return false;

    }
public function view(User $user, Advertisement $advertisement)
{
    return false;

}

模型也是用cli创建的。

代码语言:javascript
运行
复制
namespace App;

class Advertisement extends Model
{

通过以下途径登记:

代码语言:javascript
运行
复制
use App\Advertisement;
use App\Policies\AdvertisementPolicy;

class AuthServiceProvider extends ServiceProvider
{
    protected $policies = [
        Advertisement::class => AdvertisementPolicy::class,

在这里,是否有其他步骤来完成这项政策登记?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-05 19:54:26

文档中没有隐藏的东西。你只是没有仔细阅读文档。

请看一下使用策略授权操作部分。

您的策略从未被调用,因为您在代码中的任何地方都不使用它。至少,如果您需要为您的控制器资源运行您的策略,您需要编写如下内容:

代码语言:javascript
运行
复制
<?php

namespace App\Http\Controllers;

use App\Advertisement;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class AdvertisementController extends Controller
{
    public function __construct()
    {
        $this->authorizeResource(Advertisement::class, 'advertisement');
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58718327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档