Предотвратить запрос DB, если соотношение не было загруженоPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Предотвратить запрос DB, если соотношение не было загружено

Сообщение Anonymous »

У меня есть 2 модели, например, Country и City с отношениями One-Many .

Когда я запускаю этот код

Код: Выделить всё

$countries = Country::query()->with('cities')->get();

foreach ($countries as $country) {
$cities = $country->cities;

foreach ($cities as $city) {
dump($city->country);
}
}
< /code>

, на каждой $ city-> country < /code> call У меня есть запрос на db < /p>

select * from `countries` where `countries`.`id` = ? limit 1
Если соотношение (в моем случае Cities.country ) не было загружено с помощью нетерпеливой загрузки, есть ли возможность предотвратить выполнение DB-запроса на каждом вызове COUNTY COUNTION ? < /p>

Мне не нужна $ country < /code> переменная. Мне нужно получить null , если отношения Cities.country не был загружен в основной запрос.

Подробнее здесь: https://stackoverflow.com/questions/563 ... not-loaded
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»