如何从具有Yii条件的表中选择两列的DISTINCT?

时间:2013-07-09 05:27:29

标签: select yii

如何将此sql语句转换为yii格式构建模型?

  SELECT  DISTINCT agency_id, university_id 
      FROM `tbl_universityagency` where agency_id=1
像这样我错过了什么? ,

$criteria = new CDbCriteria();
        $criteria->distinct=true;            
        $criteria->condition = "agency_id=".$result->agency_id ;         
        $modal=Universityagency::model()->find($criteria); 

3 个答案:

答案 0 :(得分:6)

$criteria = new CDbCriteria();
$criteria->distinct=true;
$criteria->condition = "agency_id=".$result->agency_id ;      
$criteria->select = 'id, agency_id, university_id';
$modal=Universityagency::model()->find($criteria);

应该产生查询:

SELECT  DISTINCT id,agency_id, university_id FROM `tbl_universityagency` where agency_id=1 LIMIT 1

答案 1 :(得分:4)

您必须使用findAll()代替find()

答案 2 :(得分:1)

快速解决方案!

将以下代码放入模型文件中。

$criteria = new CDbCriteria;
$criteria->distinct = true;
$criteria->condition = "t.C = t.D";                
$criteria->group = "t.A";

如果您对此有任何疑问或疑虑,请告诉我们。

谢谢!