我想使用CActive记录获取所有行,某些列
我听说过findAll();但它返回所有行,列
$models = Users::model()->findAll();
如何获取某些列,例如,只有所有用户的用户名和密码?
答案 0 :(得分:7)
您可以使用CDbCriteria
$criteria = new CDbCriteria;
$criteria->select = 't.username, t.password '; // select fields which you want in output
$models = Users::model()->findAll($criteria);
答案 1 :(得分:1)
如果你想以数组的形式得到结果,试试这个
$records= Yii::app()->db->createCommand()
->select('username,password')
->from('users')
->queryAll();
如果作为对象,那么 kumar_v 已经给出了答案
答案 2 :(得分:0)
您可以像往常一样使用sql
查询,但这样做不会出现在yii标准
因此,获取findAll()
并获取所需的数据。这是建议和最好的。
答案 3 :(得分:0)
您还可以使用CHtml::listData()
这样的功能:
$users=CHtml::listData(Users::model()->findAll(array('condition'=>'*condition*',
'limit'='*limit*')),"username", "password");
$ users是这样的数组:
$users = array(
'username1'=>'password1',
'username2'=>'password2',
.
.
.
);
当然,您只需$users['username1']