Php 将SQL where CASE查询转换为Yii2活动记录

Php 将SQL where CASE查询转换为Yii2活动记录,php,mysql,yii2,Php,Mysql,Yii2,我一直在尝试使用andWhere将下面的SQL查询转换为基于yii的活动记录查询,但运气不佳 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',

我一直在尝试使用andWhere将下面的SQL查询转换为基于yii的活动记录查询,但运气不佳

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'))

如果“用户”表由用户类模型表示:

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();

你走了多远?错误消息是什么?