@Iossarian

Как переписать sql-запрос в ActiveQuery?

Добрый день. Есть не совсем простой sql-запрос, который надо переписать в ActiveQuery, дабы избежать возможных sql-инъекций. Собственно запрос:
SELECT 
`policy`.`id`,
`operator_id` as 'id оператора',
`email оператора`,
`ФИО`,
`av_user`.`subdivision` as 'Подразделение от АВ',
`av_user`.`curator` as 'Куратор от АВ',
`policy`.`payed_date` as 'Дата оплаты',
`policy`.`cost` as 'СП',
`policy`.`user_remuneration` as 'КВ'

FROM  (select *,
replace(JSON_EXTRACT(`parameters`, '$.users.operator.email'), '"', '') as `email оператора`,
replace(JSON_EXTRACT(`parameters`, '$.users.operator.full_name'), '"', '') as `ФИО`,
JSON_EXTRACT(`parameters`, '$.users.operator.id') as `operator_id`
FROM `partner__data` 
) as tt 
LEFT JOIN `av_user` on `av_user`.`id` = tt.`operator_id`
LEFT JOIN `policy` on `policy`.`id` = tt.`policy_id`
WHERE LOWER(`ФИО`) like LOWER('%$name%')
AND policy.`payed_date` between '$min' and '$max' 
GROUP BY policy.`payed_date` 
ORDER BY policy.`payed_date`

Все бы ничего, если бы не
FROM  (select *,
replace(JSON_EXTRACT(`parameters`, '$.users.operator.email'), '"', '') as `email оператора`,
replace(JSON_EXTRACT(`parameters`, '$.users.operator.full_name'), '"', '') as `ФИО`,
JSON_EXTRACT(`parameters`, '$.users.operator.id') as `operator_id`
FROM `partner__data` 
) as tt

Подобный момент вводит в заблуждение. Подскажите, как правильно оформить? Спасибо.
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
А нельзя использовать Expression?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы