Laravel Nova - Как скрыть кнопку «Создать» из поля HasMany? - PullRequest
0 голосов
/ 07 апреля 2019

У меня есть пользовательская модель, которая имеет отношение HasMany к модели Post.Когда я включаю поле для HasMany в пользовательский ресурс Nova, я вижу, что есть кнопка Create post .Как мне удалить / скрыть эту кнопку?

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

Этого можно достичь с помощью Policies.

Согласно документации:

Если политика существует, но отсутствует метод для определенного действия, пользователю не будет разрешено выполнить это действие. Поэтому, если вы определили политику, не забудьте определить все соответствующие методы авторизации.

Так что в вашем случае, если вы хотите полностью скрыть кнопку, просто создайте политику для своего ресурса (PostPolicy) и не реализуйте метод create.

0 голосов
/ 01 июля 2019

Здесь нужно 2 вещи.

  1. В вашем почтовом ресурсе

    публичная статическая функция authorizable () { вернуть истину; }

  2. Теперь создайте политику для Post и return true для всех методов, кроме create, для create return false и в AuthServiceProvider.php

1018 * ставить *

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

И все готово.

...