Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Доброго времени суток всем.
Подскажите пожалуйста, почему конструкция типа:
$case = \App\Cases::where('no', $id)
->with(['providers.detail' => function ($query) {
$query->select('user_cards.name as prov_name', 'user_cards.code');
}])
->with(['providers.detail.country' => function ($query) {
$query->select('name');
}])
->with(['providers.detail.country.city' => function ($query) {
$query->select('name');
}])
->first();
создает вот такие запросы к базе:
2016-08-25T12:08:52.494900Z 404 Prepare select * from `assist` where `no` = ? limit 1
2016-08-25T12:08:52.495011Z 404 Execute select * from `assist` where `no` = '43022' limit 1
2016-08-25T12:08:52.495523Z 404 Close stmt
2016-08-25T12:08:52.496299Z 404 Prepare select * from `case_providers` where `case_providers`.`case_no` in (?)
2016-08-25T12:08:52.496342Z 404 Execute select * from `case_providers` where `case_providers`.`case_no` in (43022)
2016-08-25T12:08:52.496847Z 404 Close stmt
2016-08-25T12:08:52.497516Z 404 Prepare select * from `user_cards` where `user_cards`.`code` in (?)
2016-08-25T12:08:52.497646Z 404 Execute select * from `user_cards` where `user_cards`.`code` in (21822)
2016-08-25T12:08:52.498296Z 404 Close stmt
2016-08-25T12:08:52.498787Z 404 Prepare select * from `user_countries` where `user_countries`.`id` in (?)
2016-08-25T12:08:52.498858Z 404 Execute select * from `user_countries` where `user_countries`.`id` in (15)
2016-08-25T12:08:52.499176Z 404 Close stmt
2016-08-25T12:08:52.499651Z 404 Prepare select `name` from `user_cities` where `user_cities`.`country` in (?)
2016-08-25T12:08:52.499734Z 404 Execute select `name` from `user_cities` where `user_cities`.`country` in (15)
Почему поле name выбирается только в последнем случае с таблицей городов и игнорируются поля во всех остальных случаях?
Вообще задача получить имена провайдеров и их коды из user_cards, страну и город этого провайдера из user_countries/user_cities для одного случая.
Не в сети
Страницы 1