Zu machen, wie die Kriterien mit komplexen Abfrage in Yii-framework?

Ich habe die Abfrage wie diese:

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;

Ich versuche zu verwenden model()->findAllBySql($sql) und es funktioniert. Aber ich will es machen mit CDbCriteria, wenn Sie andere Lösungen, lassen Sie es mich wissen 😀

Ein bisschen alte Frage, aber ich brauche zu kommentieren. Beim Umgang mit komplexen Abfragen NICHT verwenden Sie alle ORM. Sie haben für den Umgang mit reinem SQL (AR bietet eine findAllBySql() - Methode).
Ośmiałowski könnten Sie uns den Grund, warum wir sollten Sie nutzen findAllBySql anstelle der Verwendung von ORM(Kriterien).

InformationsquelleAutor aslingga | 2010-10-26

Schreibe einen Kommentar