AR类给的获取数据表信息的方法中,是不是没有能够select某一特定字段的方法啊(findAllBySql()/findBySql()除外),不排除我手册没看清楚,至少到现在我没找到这样一种方法。
我现在就想只返回某一特定字段的值,如果返回一整条记录,但是其他字段的值我又用不到,那不是很浪费吗?
期待高人给指条路
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的。