2011-03-17 66 views
5

我需要找到排在那裏SUMM> = 250Yii中找到條件> =

我做如下:

$criteria = new CDbCriteria; 
$criteria->condition ='summ >= 250'; 
$winnerBid = Bids::model()->find($criteria); 

但我沒有得到任何結果。 如何實施?

+1

如何打印$ winnerBid數組? – Pentium10 2011-03-17 07:07:21

+0

表中有「summ」列嗎?你有沒有收到任何錯誤信息? – random 2011-03-21 16:27:38

+0

嘗試使查詢在數據庫中首先工作,是嗎?然後將其翻譯成yii。如果你沒有summ列,那麼你將不得不查看sum()函數和'group by'和'having'子句 – 2011-03-23 04:18:41

回答

6

我沒有Yii在手。 您是否嘗試過這樣的:

$criteria = new CDbCriteria; 
$criteria->addCondition('summ >= 250'); 
$winnerBid = Bids::model()->find($criteria); 

這應該工作,如果summ是正確映射列。

1
$winnerBid = Bids::model()->find('summ >= 250'); 
if ($winnerBid===null) { 
    throw new CHttpException(400,'There is no record in your database with summ>=250.'); 
} 
1

這將是有用的,試試這個 -

$winnerBid = Bids::model()->find(array('condition'=>"summ >= 250")); 
+0

請更好地解釋你的答案 – 2014-03-18 08:48:52

0
$criteria = new CDbCriteria; 
$criteria->condition ='summ >= 250'; 
$winnerBid = Bids::model()->findAll($criteria); 

由於您使用>=你應該使用FindAll() 這應該解決您的問題。