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

Popular posts from this blog

excel vba - How to delete Solver(SOLVER.XLAM) code -

github - Teamcity & Git - PR merge builds - anyway to get HEAD commit hash? -

ios - Replace text in UITextView run slowly -