2015-11-23 3 views
1

Я пытался преобразовать ниже SQL запрос к Yii на основе активных записей запроса с andWhere, но не повезлоПреобразование SQL, где СЛУЧАЙ запрос к Yii2 Active Record

SELECT * FROM `users` 
WHERE `role` = 1 
AND (CASE users.type WHEN 'admin' THEN users.admin_id ELSE users.member_id END IN ('94', '56', '173', '172', '50', '67', '57', '86', '53', '93', '39', '40', '171', '175', '136', '160', '145', '177', '156', '88', '125', '176', '157', '120', '165', '116', '103', '107', '149', '134', '146', '92', '164', '82', '148', '111', '78', '77', '151', '87', '129',, '29', '62')) 
+0

Как далеко вы получили? Что такое сообщение об ошибке? – topher

ответ

1

Если таблица «пользователей» представлена ​​пользователем класс:

User::find()->where(['role' => 1'])->andWhere("(CASE users.type WHEN 'admin' THEN users.admin_id ELSE users.member_id END IN ('94', '56', '173', '172', '50', '67', '57', '86', '53', '93', '39', '40', '171', '175', '136', '160', '145', '177', '156', '88', '125', '176', '157', '120', '165', '116', '103', '107', '149', '134', '146', '92', '164', '82', '148', '111', '78', '77', '151', '87', '129',, '29', '62'))")->all(); 
+0

Спасибо @ fabrizio-caldarelli это работает. – Hoshomoh

Смежные вопросы