select某一特定字段的方法

AR类给的获取数据表信息的方法中,是不是没有能够select某一特定字段的方法啊(findAllBySql()/findBySql()除外),不排除我手册没看清楚,至少到现在我没找到这样一种方法。

我现在就想只返回某一特定字段的值,如果返回一整条记录,但是其他字段的值我又用不到,那不是很浪费吗?

期待高人给指条路

举个例子

http://www.yiiframework.com/doc/api/1.1/CActiveRecord#find-detail

find() method

public CActiveRecord find(mixed $condition=’’, array $params=array ( ))

$condition mixed query condition or criteria. If a string, it is treated as query condition (the WHERE clause); If an array, it is treated as the initial values for constructing a CDbCriteria object; Otherwise, it should be an instance of CDbCriteria.

$params array parameters to be bound to an SQL statement. This is only used when the first parameter is a string (query condition). In other cases, please use CDbCriteria::params to set parameters.

{return} CActiveRecord the record found. Null if no record is found.


$condition参数可以为CDbCriteria,而CDbCriteria是可以指定select哪些字段的

http://www.yiiframework.com/doc/api/1.1/CDbCriteria#select-detail

个人建议在find()系列方法中加入CDbCriteria作为参数。

没记错的话,传入其他的参数也是会在框架内部转换成CDbCriteria的。