Как получить обновленные (не старые) данные о модели после срабатывания события на Observer? - PullRequest
0 голосов
/ 27 февраля 2020

У меня проблема с наблюдателями и моделями. У меня Laravel v. 6.11.0 и Laravel Nova v.2.9.3. Когда модель предложения обновляется, я отправляю уведомление об этом на другой сервер. После этого этот другой сервер отправляет запрос в мой API, когда я возвращаю данные предложения.

EventServiceProvider. php

    protected $listen = [
        Registered::class => [
            SendEmailVerificationNotification::class,
        ],
        OfferUpdated::class => [
            SendOfferPostbackToTds::class,
        ],
        ThreadUpdated::class => [
            SendThreadPostbackToTds::class,
        ],
        UserCreated::class => [
            CreateBalanceForUser::class
        ],
    ];

    public function boot()
    {
        parent::boot();

        User::observe(new UserObserver());
        Offer::observe(new OfferObserver());
    }

Обозреватель i иметь следующее:

OfferObserver. php

class OfferObserver
{
    /**
     * Handle the Offer "created" event.
     *
     * @param  \App\Offer  $offer
     * @return void
     */
    public function created(Offer $offer)
    {
        event(new OfferUpdated($offer));
    }

    /**
     * Handle the Offer "updated" event.
     *
     * @param  \App\Offer  $offer
     * @return void
     */
    public function updated(Offer $offer)
    {
        \Log::debug($offer);
        event(new OfferUpdated($offer));
    }
}


SendOfferPostbackToTds работает правильно и отправляет сообщение проверки связи на другой сервер. После этого этот другой сервер делает запрос к API для этого метода

OfferController

    public function show($id)
    {
        \Log::debug(Offer::inactive()->findOrFail($id)->toJSON());
        return new OfferResource(Offer::inactive()->findOrFail($id));
    }

И вопрос:

Почему, когда я регистрирую информацию в Observer, я обновляю информацию, но когда я пытаюсь получить информацию через API Offer Controller, у меня есть старые данные? Также я попытался использовать fre sh () и refre sh () в API, но это не помогло

Я думаю, что это может быть кеш, но я не устанавливал никаких кешей, поэтому Я даже не знаю, где я могу найти ответ. Спасибо! *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...