2013-02-08 56 views
0

我不這樣做,如果我想要做的可能與否,我有兩個模型,我想從一個模型使用另一個條件的數據。CDbCriteria條件從另一個CDbCriteria

    $criteria1=new CDbCriteria; 
     $paramIds = $s['param_id']; 
     $stress = model1::model()->find($criteria1); 
     $mycondition= ($stress->stress_value); 

     echo $mycondition ; // I get this value and I want to use it as 
             // condition for the next cdbcreteria 

     $criteria2=new CDbCriteria; 

        // condition 
     $criteria2->addcondition(array('pressure_value' > $mycondition)); 

         // I can't perform this condition  

     $criteria2->order = "pressure_value desc"; 
     $pressure = model2::model()->find($criteria2); 

任何想法?我的代碼錯了,或者我想要做的事情不可能以這種方式進行?

非常感謝

+0

如果'$ mycondition'只是一個數字,嘗試' $ criteria2-> addcondition('pressure_value>'。$ mycondition)' – adamors

+0

感謝您的評論,$ mycondition是一個時間,我想比較兩個給定時間的壓力值 – Ben

+0

像這樣做:'$ criteria2- > addCondition('pressure_valu e>:value');''和'$ criteria2-> params(array(':value'=> $ mycondition))'。這樣Yii將會正確地逃避價值。 – adamors

回答

0

感謝@ ORS

你對我的解決方案與工作條件後作出比較語句cdbcreteria

$criteria2->params = array(':value' => $mycondition)