2011-03-17 36 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() 这应该解决您的问题。