计算在Yii中查找所有记录

时间:2014-03-30 21:34:21

标签: php yii

我想查找用户表中除一个用户类型以外的所有记录。即我有一个用户表dec_user,其中有一个属性user_type。我想查找除user_type 9以外的所有记录。然后我会计算行数。所以,我写道:

$user_type = 9;
    return count(User::model()->findAll(array("condition"=>"':user_type' != $user_type")));

实际上,我不明白如何写这个条件。

1 个答案:

答案 0 :(得分:6)

您无需从数据库中检索数组并使用PHP count()函数对其进行计数。

Yii方式:

return User::model()->count('user_type <> '.$user_type);

或使用params:

return User::model()->count('user_type <> :type', array('type' => $user_type);

或者,如果要构建SQL查询,请使用commandBuilder:

return Yii::app()->db->createCommand()
            ->select('COUNT(*)')
            ->from('user')
            ->where('user_type <> '.$user_type)
            ->queryScalar();