У меня проблема с наблюдателями и моделями. У меня 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, но это не помогло
Я думаю, что это может быть кеш, но я не устанавливал никаких кешей, поэтому Я даже не знаю, где я могу найти ответ. Спасибо! *