Сложный запрос к MySQL в проекте на Yii2, используя ORM ActiveRecord
Есть череда связанных запросов:
SET lc_time_names = 'ru_RU';
SET @interval := DATEDIFF(STR_TO_DATE(CONCAT(YEAR(NOW()) + 1, '-01-01'), '%Y-%m-%d'), CURDATE());
WITH DATESHIFT AS (
SELECT `id`, `username`, ADDDATE(`birthday`, @interval) birthday, STR_TO_DATE(CONCAT('2222-', MONTH(`birthday`), '-', DAY(`birthday`)), '%Y-%m-%d') tmpdate
FROM `user`
ORDER BY tmpdate DESC LIMIT 3),
B_DATES AS (
SELECT `username`, date_format(`birthday`, '%d-%m-%Y') bdate, CONCAT(DAY(`birthday`), ' ', MONTHNAME(`birthday`)) birth_string, STR_TO_DATE(CONCAT('2222-', MONTH(`birthday`), '-', DAY(`birthday`)), '%Y-%m-%d') tmpdate
FROM user
WHERE id IN (SELECT `id` FROM DATESHIFT)
ORDER BY tmpdate)
SELECT `username`, `birth_string` FROM B_DATES;
Задача: обернуть их в конструктор ActiveRecord, либо ActiveQuery с тем, чтобы обеспечить переносимость. В документации сообщества подобные возможности не описываются. Как работать без костылей с конструктом CTE - не понятно. Уважаемые коллеги, прошу помощи. Спасибо!