yii

2012-01-16 14 views
5

में समस्या की तुलना करें लगभग हर विकी में सरल चीजों को समझाया जाता है। मैं yii के CDbcriteria समस्या से तुलना में फंस गया हूँ।yii

केवल सटीक मिलान "के बराबर" के लिए समझाया गया है:

select * from users where status ='active' 

इस तुलना समझाया गया है:

$criteria->compare('status','active'); 

लेकिन मैं एक उदाहरण स्क्रिप्ट जो इसे एक साथ का वर्णन नहीं मिल सकता है ऑपरेटर आधारित खोज। निम्न क्वेरी के बराबर नहीं है:

select * from users where status !='active' 

मैं यह कैसे कर सकता हूं?

+4

मैंने इसे +1 करने के लिए लॉग इन किया है। कोई विचार नहीं कि लोग इसे क्यों कम कर रहे हैं। –

+0

@ फ़ेलिप आल्मेडा, बहुत बहुत धन्यवाद –

उत्तर

5

इस

$criteria->condition = " status<>'active'"; 
$criteria->compare('status',$this->status,true); 
4

$criteria->addNotInCondition('status', array('active'));

जैसे कुछ बात की कोशिश करता है, तो count(array('active')) === 1 एसक्यूएल status != 'active' होगा, बाकी status NOT IN ('active', 'smth else')

1

प्रयास करें मैं नीचे 3 कब्जा था टियां और यह एक आकर्षण की तरह काम करता है:

$criteria->condition='employee_id<>:employee_id AND vehicle_id=:vehicle_id AND checked_in_on IS NULL'; 
      $criteria->params=array(':employee_id'=>Yii::app()->session['activity']->employee_id,':vehicle_id'=>$model->id); 
      $checkedOutVehicleBySomeoneElse = Activity::model()->find($criteria); 

 संबंधित मुद्दे