Mar*_*ian 8 arrays activerecord yii
使用Yii,我如何从Active Record中获取数组.
说这样的话:
array('foo', 'bar', 'lala')
从这样的事情:
MyTable::model()->findall()
Run Code Online (Sandbox Code Playgroud)
bri*_*iiC 24
如果我理解正确的话:
$users = User::model()->findAll();
$usersArr = CHtml::listData( $users, 'id' , 'name');
print_r( $usersArr );
Run Code Online (Sandbox Code Playgroud)
它会给你数组id => name
Array {
2 => 'someone',
20 => 'kitty',
102 => 'Marian',
// ...
}
Run Code Online (Sandbox Code Playgroud)
小智 8
对于yii2,使用:
yii\helpers\ArrayHelper::map(MyModel::find()->all(), 'id', 'name'));
Run Code Online (Sandbox Code Playgroud)
要么
yii\helpers\ArrayHelper::getColumn(MyModel::find()->all(), 'name'));
Run Code Online (Sandbox Code Playgroud)
小智 7
ActiveRecord类有一个名为attributes的属性.您可以在此处找到它的描述:http://www.yiiframework.com/doc/api/1.1/CActiveRecord#attributes-detail.
要获取数组中的所有属性,请使用以下命令: $var = $model->attributes;
不要使用ActiveRecord。使用CDBCommand->queryColumn()