Код: Выделить всё
$query = Client::find()
->joinWith('apartments.entrance.building.street')
->andWhere(['{{entrance}}.[[building_id]]' => $buildingsIds])
->all();
return;
Вопросы: почему связанные модели не заполняются из первого запроса с join'ами? Правильное ли поведение ActiveRecord?
update
Скриншот прикрепить не удалось.
Код: Выделить всё
SELECT "client".* FROM "client"
LEFT JOIN "apartment_group_client" ON "client"."id" = "apartment_group_client"."client_id"
LEFT JOIN "apartment_group" ON "apartment_group_client"."apartment_group_id" = "apartment_group"."id"
LEFT JOIN "apartment" ON "apartment_group"."apartment_id" = "apartment"."id"
LEFT JOIN "entrance" ON "apartment"."entrance_id" = "entrance"."id"
LEFT JOIN "building" ON "entrance"."building_id" = "building"."id"
LEFT JOIN "street" ON "building"."street_id" = "street"."id"
WHERE "entrance"."building_id"=1
SELECT * FROM "apartment_group_client" WHERE "client_id" IN (5, 16)
SELECT * FROM "apartment_group" WHERE "id" IN (18, 2)
SELECT * FROM "apartment" WHERE "id" IN (3, 15)
SELECT * FROM "entrance" WHERE "id" IN (7, 5)
SELECT * FROM "building" WHERE "id" IN (1, 2)
SELECT * FROM "street" WHERE "id"=1