1

我在 Yii 工作,我有一个名为:访问的表

它有两个外键:from_user_id 和 to_user_id,它们链接到“用户”表。现在表访问有许多相同的'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

这并没有让我有不同的价值观。我哪里错了??

4

1 回答 1

1

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

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

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

如果这是一个数组(根据 doc find()),它将用于初始化请求的各种标准属性

于 2013-08-03T10:53:18.247 回答