Laravel Nova - вручную отправлять оповещение об ошибке из класса наблюдателя - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть модель ресурса сезона с полем с именем active.

Требуется отключить удаление для season с активным статусом.

Я создал наблюдателя длямодель сезона, чтобы посмотреть удаление события.С помощью этой функции я могу заблокировать удаление в случае, если active истинно.

Но проблема связана с сообщением об ошибке;есть ли способ добавить сообщение об ошибке во флэш-память сеанса из класса Observer?

<?php

public function deleting(Season $season)
{
    if($season->active_season)
    {
        Log::info('Sorry, this season can`t be deleted. 
            There must be at least one active season.');
    }

    return false;
}

1 Ответ

0 голосов
/ 28 ноября 2018

Я не знаю, как прошить сообщение об ошибке.

Но поскольку требуется отключить удаление для сезона с активным статусом, я предлагаю использовать policy , который не будет отображать значок удаления, если он не соответствует условию.

class SeasonPolicy {
    ...

    public function delete(User $user, Season $season) {
        if($season->active_season) {
            return false;
        }
        return true;
    }
}

и зарегистрируйте политику в AuthServiceProvider.

Примечание:

Неопределенные методы политики

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

...