Mam zapytanie tak:Jak tworzyć kryteria za pomocą złożonego zapytania w frameworku 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;
mam spróbować użyć model()->findAllBySql($sql)
i to działa. Ale chcę zrobić to za pomocą CDbCriteria
, jeśli masz inne rozwiązania, daj mi znać: D
Trochę stare pytanie, ale muszę skomentować. W przypadku złożonych zapytań ** NIE WOLNO ** używać żadnych ORM. Masz do czynienia z czystym SQL (AR zapewnia metodę 'findAllBySql()'). –
@Andrzej Ośmiałowski czy możesz podać nam powód, dla którego powinniśmy użyć findAllBySql zamiast używać ORM (Kryteria). – aslingga