在cdbcriteria中选择distinct yii

时间:2015-09-04 01:18:07

标签: php yii substring distinct criteria

我仍然使用yii 1.6

我想在CDbCriteria

中输入这个条件
select DISTINCT substring(datetime,1,7) from sale

我试试这段代码:

$criteria = new CDbCriteria;
$criteria->condition = 'substring(datetime,1,7) like :q';
$criteria->params = array(':q' => '%'.trim($q).'%');
$criteria->distinct = true;
$criteria->select = 'datetime';
$result = Sale::model()->findAll($criteria);

如果同月有日期出现两次

我尝试改变这个

   $criteria->select = 'datetime';

到此代码

 $criteria->select = 'substring(datetime,1,7)';

但它不起作用。

有没有更好的方法让它发挥作用? 感谢

1 个答案:

答案 0 :(得分:0)

通过在选择部分

中添加distinct函数来尝试此操作
$criteria = new CDbCriteria;
$criteria->select = 'DISTINCT substring(datetime,1,7) AS dtime';
$result = Sale::model()->findAll($criteria)