Не могу создать правильный запрос из-за того что не привязывается псевдоним в Yii2.
Имею модель:
class OrdersModel extends \app\components\MyActiveRecord
{
....
public function getManager()
{
return $this->hasOne(UsersModel::className(), ['id' => 'user_id']);
}
....
}
Суть: надо получить связку с менеджерами из таблицы пользователей (только менеджеры)
Создаю запрос
$managers=self::find()->joinWith('manager')
->where("manager.role='manager' ")
->groupBy('user_id')
->orderBy('manager.first_name, manager.last_name')
->all();
Получаю следующий запрос с ошибкой:
SELECT `aus_orders`.* FROM `aus_orders` LEFT JOIN `aus_users` ON `aus_orders`.`user_id` = `aus_users`.`id` WHERE manager.role='manager' GROUP BY `user_id` ORDER BY `manager`.`first_name`, `manager`.`last_name`
Явно видно что при сборке запроса псевдонимы исключаются.
Как сделать правильно чтобы получить нормальный запрос с псевдонимом для таблицы?
Чтобы при генерации получалось бы такое:
SELECT `aus_orders`.* ,manager * FROM `aus_orders` AS `manager` LEFT JOIN `aus_users` ON `aus_orders`.`user_id` = `manager`.`id` WHERE manager.role='manager' GROUP BY `user_id` ORDER BY `manager`.`first_name`, `manager`.`last_name`