无法获取DISTINCT列值:

时间:2013-08-03 10:44:21

标签: php mysql yii

我在Yii工作,我有一个名为:visits

的表

它有两个外键:from_user_id和to_user_id,它们链接到'user'表。 现在表访问有许多相同的'from_user_id',我想在Yii中将它们作为DISCTINCT进行检索。

这是我的代码:

$visited = Visit::model()->findAllByAttributes(array('to_user_id'=>Yii::app()->user->id));

$criteria = new CDbCriteria();
$criteria->distinct = true;

foreach($visited as $visits){

    echo User::model()->findByPk($visits->from_user_id,$criteria)->getFullName($visits->from_user_id);

   echo " <br>";
}

但是,我无法将它们区分开来。

这是我的输出:

san
san
san
Leo
Leo

我希望输出为:

San
Leo

这不是让我有明显的价值观。我哪里错了?

1 个答案:

答案 0 :(得分:1)

我无法对其进行测试,但除了可能的轻微语法调整外,这应该对您有所帮助:

$visited = Visit::model()->findAllByAttributes(
    array('to_user_id'=>Yii::app()->user->id),
    array('distinct' => True)
);

根据文档,findAllByAttribute接受条件或条件参数作为第二个参数。

如果这是一个数组(根据find()的文档),它将用于初始化各种criteria properties请求。