У меня есть приложение laravel
, в котором у меня есть Модели, использующие $ with, во внешнем интерфейсе всякий раз, когда я загружаю эту Модель, она также загружает $ своего потомка.Ребята, можете ли вы сказать мне, как этого избежать?
Ниже приведен пример, чтобы вы, ребята, поняли сценарий.
ModelA.php
$with = [ModelK, ModelL, ModelM];
ModelK.php
$with = [ModelM, ModelN];
ModelM.php
$with = [ModelX, ModelY, ModelZ];
На моем веб-интерфейсе, где бы я ни использовалModelA
с eloquent делает запрос на ModelM
, ModelX
оба.Это делает мой сайт медленным.Кроме того, если я получаю 4-5 строк данных из ModelA
, он также выполняет запросы на выполнение для всех этих моделей ModelM
, ModelX
и это тоже один запрос для каждой строки.Таким образом, количество запросов также увеличивается.
Взаимосвязь между этими моделями: «Один-один», «Один-много-много» и «Много-много-много».
Есть ли способ избежать этих дочерних моделей при загрузке?родитель?