tengo consulta como esta:¿Cómo hacer criterios con consultas complejas en el marco Yii?
SELECT * FROM activity
WHERE (((userId = 1 OR userId IN(SELECT userId FROM follower WHERE followerId = 1))
AND activityType IN(1, 2, 3))
OR (targetId = 24 AND aType IN(1, 2, 3, 4, 5)))
ORDER BY id DESC;
He tratar de utilizar model()->findAllBySql($sql)
y funciona. Pero quiero hacerlo usando CDbCriteria
, si tiene otras soluciones hágamelo saber: D
Una vieja pregunta, pero necesito comentar. Cuando se trata de consultas complejas ** NO ** use ningún ORM. Tienes que tratar con SQL puro (AR proporciona un método 'findAllBySql()'). –
@Andrzej Ośmiałowski podría darnos la razón por la cual deberíamos usar findAllBySql en lugar de usar ORM (Criteria). – aslingga