返回不正确的activerecords计数
我在数唱片的数量。我们已经看了好几天了,但计数不正确。当一无所有时,它一直返回1。所有其他型号的计数都正确返回,所以这一款相当奇怪。还有什么地方需要我查一下吗 已经看到的情况:返回不正确的activerecords计数,activerecord,yii,Activerecord,Yii,我在数唱片的数量。我们已经看了好几天了,但计数不正确。当一无所有时,它一直返回1。所有其他型号的计数都正确返回,所以这一款相当奇怪。还有什么地方需要我查一下吗 已经看到的情况: var_dump:因此它返回0;一切如期而至 检查范围是否存在某种冲突 $pending=count(Model::Model()->pending()) 规则在模型中是安全的。型号: public function pending() { $criteria = new CDbCriteria;
$pending=count(Model::Model()->pending())代码>
规则在模型中是安全的。型号:
public function pending()
{
$criteria = new CDbCriteria;
$now = new CDbExpression("NOW()");
$criteria->addCondition('effective_to_date > '.$now);
$criteria->addCondition('effective_from_date < '.$now);
$criteria->compare('target_accept',"ACCEPTED");
return new CActiveDataProvider($this, array( 'criteria'=>$criteria, ));
}
公共函数挂起()
{
$criteria=新的CDB标准;
$now=newCDBExpression(“now()”);
$criteria->addCondition(“生效日期>”。$now);
$criteria->addCondition('effect_from_date<.$now');
$criteria->compare('target_accept',“accept”);
返回新的CActiveDataProvider($this,数组('criteria'=>$criteria,);
}
尝试以下代码:
$dp = Model::model()->pending();
echo count($dp->getData())
您所做的是返回本身不包含数据的cactivedaptaprovider
实例,而您可以使用getData()方法获取对象列表。
你可以这样写
public function pending()
{
$criteria = new CDbCriteria;
$now = new CDbExpression("NOW()");
$criteria->addCondition('effective_to_date > '.$now);
$criteria->addCondition('effective_from_date < '.$now);
$criteria->compare('target_accept',"ACCEPTED");
$dataProvider=new CActiveDataProvider($this, array( 'criteria'=>$criteria, ));
return $dataProvider->getData();
}
$pending=Model::model()->pending()