php - Why does not work CActiveDataProvider after change criteria -
यह कोड ठीक काम करता है:
$ मापदंड = नया सीडीबीसीट्रेटिया; $ मानदंड- & gt; तुलना करें ('आईडी', 1); $ डेटाप्रदाता = नया कैक्टिवडेटाप्रदाता ('उपयोगकर्ता', सरणी ('मानदंड' = & gt; $ मानदंड)); विदेशी मुद्रा ($ डेटाप्रदाता- & gt; getData () $ मान के रूप में) var_dump ($ value- & gt; आईडी); लेकिन जब मैं CActiveDataProvider उदाहरण बनाने के बाद मापदंड बदलता हूं तो यह काम नहीं करता है:
$ मापदंड = नया सीडीबीसीट्रेटिया; $ मानदंड- & gt; तुलना करें ('आईडी', 1); $ डेटाप्रदाता = नया कैक्टिवडेटाप्रदाता ('उपयोगकर्ता', सरणी ('मानदंड' = & gt; $ मानदंड)); $ मानदंड- & gt; तुलना करें ('आईडी', 2); विदेशी मुद्रा ($ डेटाप्रदाता- & gt; getData () $ मान के रूप में) var_dump ($ value- & gt; आईडी); यह वापसी खाली है! ऐसा क्यों है?
आपके पास कोई नतीजे नहीं हैं क्योंकि आप अपने मानदंडों में कोई शर्त जोड़ रहे हैं: उत्पन्न एसक्यूएल इस तरह दिखेगा: WHERE id = '1' और id = '2' अगर आप उपयोगकर्ता 1 और 2 को सूचीबद्ध करना चाहते हैं तो आपको कोशिश करनी चाहिए:
$ मानदंड- & gt; तुलना करें ('id', 2, गलत, 'या'); या बस का उपयोग करें।
संपादित करें : जैसा कि आपने अपनी टिप्पणी में कहा था, वही मानदंड ऑब्जेक्ट का उपयोग करने के बजाय, आप कर सकते हैं। < / P>
Comments
Post a Comment