Laravel Nova - 如何隐藏HasMany字段中的“创建”按钮?

问题描述 投票:0回答:1

我的用户模型与Post模型有HasMany关系。当我在Nova的用户资源中包含HasMany的字段时,我看到有Create post button。如何删除/隐藏该按钮?

laravel-5 eloquent laravel-nova eloquent--relationship
1个回答
1
投票

你可以用Policies实现这一目标。

根据文件:

如果存在策略但缺少特定操作的方法,则不允许用户执行该操作。因此,如果您已定义策略,请不要忘记定义其所有相关授权方法。

因此,在您的情况下,如果您想完全隐藏按钮,只需为您的资源(PostPolicy)创建一个策略,而不是实现create方法。


0
投票

你需要在这里做两件事。

  1. 在您的帖子资源中 public static function authorizable(){return true; }
  2. 现在为除了create之外的所有方法创建Post和return true的策略,用于创建return falseAuthServiceProvider.php

protected $policies = [
    Post::class => PostPolicy::class,
];

你完成了。

© www.soinside.com 2019 - 2024. All rights reserved.