繁体   English   中英

无法获取DISTINCT列值:

[英]Not able to get DISTINCT column values :

我在Yii工作,并且有一个名为:visits的表

它有两个外键: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

这并没有给我带来独特的价值。 我要去哪里错了?

我无法对其进行测试,但是除了可能的较小语法调整之外,这应该可以帮助您:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM