我在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
这不是让我有明显的价值观。我哪里错了?
答案 0 :(得分:1)
我无法对其进行测试,但除了可能的轻微语法调整外,这应该对您有所帮助:
$visited = Visit::model()->findAllByAttributes(
array('to_user_id'=>Yii::app()->user->id),
array('distinct' => True)
);
根据文档,findAllByAttribute
接受条件或条件参数作为第二个参数。
如果这是一个数组(根据find()
的文档),它将用于初始化各种criteria properties请求。