Php 如何在crirteria中获取计数字段?

Php 如何在crirteria中获取计数字段?,php,yii,count,criteria,Php,Yii,Count,Criteria,我正在尝试构建一个查询,该查询具有按用户id、选择用户id、计数(id)、条件、加入的组。 我可以通过findall命令得到一个真实的结果,但是我不能显示count(id) 我把代码留在这里了 内部控制器 $criteria=new CDbcriteria(); $criteria->condition = 'serviceId=:serviceId'; $criteria->params = array(':serviceId'=>

我正在尝试构建一个查询,该查询具有按用户id、选择用户id、计数(id)、条件、加入的组。 我可以通过findall命令得到一个真实的结果,但是我不能显示count(id) 我把代码留在这里了

内部控制器

       $criteria=new CDbcriteria();
        $criteria->condition = 'serviceId=:serviceId';
        $criteria->params = array(':serviceId'=>1);
        $criteria->group = 't.user_Id';
        $criteria->select = array('t.user_Id,count(psh_profile_information_services.id) AS count');
        $criteria->join = 'left join psh_profile_information_services on t.id=psh_profile_information_services.profileInformationId';
        $moli=  ProfileInformation::model()->findAll($criteria);
        $this->render('conectionpoint', array('moli'=>$moli ));
鉴于

foreach ($moli as $mol)
        {
            echo "user_Id:  ".$mol->user_id." --- count:".???????? ;

        }
打印$mol

ProfileInformation Object ( [_new:CActiveRecord:private] => [_attributes:CActiveRecord:private] => Array ( [user_Id] => 1 [createDate] => 1393/03/23 - 15:49:26 [modifiedDate] => 1393/03/23 - 15:49:26 ) [_related:CActiveRecord:private] => Array ( ) [_c:CActiveRecord:private] => [_pk:CActiveRecord:private] => [_alias:CActiveRecord:private] => t [_errors:CModel:private] => Array ( ) [_validators:CModel:private] => [_scenario:CModel:private] => update [_e:CComponent:private] => [_m:CComponent:private] => )
在ProfileInformation类文件中-

在控制器动作中, 改变-

$criteria->select=array('t.user\u Id,count(psh\u profile\u information\u services.Id)作为count')

$criteria->select=array('t.user\u Id,count(psh\u profile\u information\u services.Id)作为total\u info')

视图文件-

这应该行得通

如果没有,那么只需进行简单的调试-

echo "<pre>";

foreach($moli as $mol) {
    echo 'Total Info: ' . $mol->total_info . "<br />";
    foreach($mol as $key => $value) {
        echo $key . ' ' . $value . "<br />";
    }
    echo "<br />";
}

exit();
echo”“;
foreach($moli作为$mol){
回显“总信息:”.$mol->Total_Info.“
”; foreach($mol作为$key=>$value){ 回显$key.'.$value.“
”; } 回声“
”; } 退出();

然后检查值。

[…]作为计数更改为其他名称。根据count
(psh\u profile\u information\u services.id)作为count,假设有一个公共变量作为
public$count
档案信息
模型类文件中。如果您将其更改为显示
total\u info
,则可以将其显示为
$mol->total\u info
我将count的名称更改为view and controller中的total\u infor,但我没有任何结果:(我打印我在问题中留下的$mol我打印$mol并在问题中留下请检查上面答案中添加的调试代码。您是否也在
ProfileInformation
模型文件中添加了变量?
foreach ($moli as $mol)
{
    echo "user_Id:  ".$mol->user_id." --- count:".$mol->total_info;
}
echo "<pre>";

foreach($moli as $mol) {
    echo 'Total Info: ' . $mol->total_info . "<br />";
    foreach($mol as $key => $value) {
        echo $key . ' ' . $value . "<br />";
    }
    echo "<br />";
}

exit();