Загрузка отношений при создании новой записи
Я думаю, что наблюдатели лучше всего подходят для этого.
Сначала создайте модель предложения наблюдателя.
php artisan make:observer OfferObserver
Затем зарегистрируйте OfferObserver в AppServiceProvider
Offer::observe(OfferObserver::class)
В методе загрузки предложений created()
.Этот метод будет срабатывать при создании новой записи.Также, если вы хотите загрузить отношения после обновления модели, скопируйте и вставьте следующий код в updated()
метод
/**
* Handle the offer "created" event.
*
* @param Offer $offer
* @return void
*/
public function created(Offer $offer)
{
$offer->load([
"priceNegotiations",
"driver.user",
"roadTransport",
"serviceProvider",
"serviceProvider.company"
]);
}
загрузите отношения только тогда, когда вам нужно
вПредложите модель создания метода для загрузки отношений.
public function loadRelations()
{
$this->load([
"priceNegotiations",
"driver.user",
"roadTransport",
"serviceProvider",
"serviceProvider.company"
]);
}
Затем загружайте отношения методом loadRelations()
, когда вам нужно
// update process
$offer->save();
$offer->loadRelations()
return $offer;