$criteria->select 总是查询ID ???

我在select中只指定了 to_id

$criteria=new CDbCriteria;

$criteria->select = ‘to_id’;

但是YII的查询语句为

SELECT DISTINCT t.to_id AS t0_c2, t.id AS t0_c0,

把 id(该表主键) 自己给加上了 这样我的DISTINCT就无法返回我期望的结果了 也就是DISTINCT没有意义了

请问这是怎么回事或是有什么其他方法能实现我想要的功能

?? 哪位知道怎么回事 指教一下

无语了 一周了 没有人知道怎么回事??


		$criteria=new CDbCriteria;

		$criteria->select = 'barId';

		$models=Menu::model()->findAll($criteria);

生成的sql如下


2010/05/13 18:18:09 [trace] [system.db.CDbCommand] Querying SQL: SHOW COLUMNS FROM `_core_menu`

2010/05/13 18:18:09 [trace] [system.db.CDbCommand] Querying SQL: SHOW CREATE TABLE `_core_menu`

2010/05/13 18:18:09 [trace] [system.db.ar.CActiveRecord] Menu.findAll()

2010/05/13 18:18:09 [trace] [system.db.CDbCommand] Querying SQL: SELECT barId FROM `_core_menu` `t`

不清楚你的环境和我的区别在哪里?

这样的语句,建议你使用dao来查询~

AR记录必须有主键值的,不然彼此无法区分。这也是为什么主键会被自动加上query。

用DAO就用不了YII的分页了啊

那么现在想实现排除相同记录要怎么实现呢

你可以考虑用findAllBySql()。

另外CPagination并不需要AR,所以你也可以用DAO