मैं इस तरह प्रश्न हैं:वाईआई ढांचे में जटिल क्वेरी के साथ मानदंड कैसे बनाएं?
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;
मैं model()->findAllBySql($sql)
इस्तेमाल करने की कोशिश की है और यह काम करता है। लेकिन मैं इसे CDbCriteria
का उपयोग करना चाहता हूं, यदि आपके पास अन्य समाधान हैं तो मुझे यह बताएं: डी
थोड़ा पुराना सवाल है लेकिन मुझे टिप्पणी करने की आवश्यकता है। जटिल प्रश्नों से निपटने पर ** ** किसी भी ओआरएम का उपयोग न करें। आपको शुद्ध एसक्यूएल से निपटना होगा (एआर एक 'findAllBySql()' विधि प्रदान करता है)। –
@Andrzej Ośmiałowski क्या आप हमें कारण दे सकते हैं कि हमें ORM (मानदंड) का उपयोग करने के बजाय findAllBySql का उपयोग क्यों करना चाहिए। – aslingga