Yii/Yii2:查询返回以某特定列为索引(键)的数组

在Yii1.x中,要想查询语句返回以特定列为键(key)的数组数据,代码例如以下(下述样例以表主键为返回数组索引):

$users = User::model()->findAll(array('condition'=>'status = 1', 'index'=> 'id'));

当中通过findAll方法传入的index參数将被CActiveRecord::populateRecords方法用来按该index为键来整理查询返回数据。


在Yii2中,因为查询构造实际实现者为ActiveQuery,因此对应的处理也移植到ActiveQuery类的indexBy方法中,代码例如以下:

User::find()->where('status=:status', [':status' => User::STATUS_ACTIVATED])->indexBy('id')->all();

by iefreer

posted @ 2015-02-12 13:42  zfyouxi  阅读(1889)  评论(0编辑  收藏  举报