Как использовать WhenLoaded() для отношений более одного уровня? Кажется, что ifLoaded можно использовать только с такой глубиной первого отношения:
Код: Выделить всё
'season' => $this->whenLoaded('origin', function () {
return new SeasonResource($this->origin->season);
}),
Но тогда Laravel, если загружен источник, но не сезон, Laravel загрузит его, что создает проблему N+1. Отношения происхождения и сезона являются условными и не всегда используются. Поэтому я хочу использовать что-то вроде этого:
или это:
Код: Выделить всё
'season' => $this->whenLoaded('origin', function () {
return new SeasonResource($this->origin->whenLoaded('season'));
}),
Ни то, ни другое не работает. Я предполагаю, что более глубокие отношения не хранятся в самой модели, и во втором случае, когда методLoaded() не существует в построителе запросов.
Как использовать ifLoaded() для отношений более глубокого уровня?
Подробнее здесь:
https://stackoverflow.com/questions/499 ... -one-level