Чтобы всегда стремиться загрузить отношение местоположения и не беспокоиться о глубине, вы можете добавить свойство $ with к вашей модели местоположения:
protected $with = ['location'];
Теперь, когда вы возвращаете местоположение, оно будет иметь все вложенные вложенные элементы.загруженные местоположения:
return App\Location::find(1);
Laravel также обрабатывает возвращение этого в виде JSON, если оно возвращено из метода контроллера.
, как указано Kyslik, это представляет потенциал N + 1проблема, потенциальная глубина вместе с размером запроса и остальная среда должны быть учтены при решении использовать решение, подобное этому, в производственной среде, для чего-то вроде местоположений, это, вероятно, не проблема и вполне стоит простоты