Собственно есть 2 таблицы:
- car_brand - таблица с марками автомобилей (поля: id, title)
- car - таблица с машинами (поля: id, brand_id, title)
Нужно вывести название марок и их id, в которых есть хотя бы одна машина.
Сейчас запрос выглядит так:
$car_brand = Car::find()
->select('title, id, brand_id')
->with('car_brand')
->groupBy('brand_id')
->all();
Но в дебагере виден один из запросов:
SELECT * FROM `car_brand` WHERE `id` IN ( все айдишников моделей )
Вместо желаемого:
SELECT a.title as title, brand_id
FROM car_brand as a, car as b
WHERE b.brand_id = a.id
GROUP BY b.brand_id
Как правильнее всего вывести подобный запрос/результат ?