Добрый день. Есть не совсем простой 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
Подобный момент вводит в заблуждение. Подскажите, как правильно оформить? Спасибо.