Yii2 findModel to Array

时间:2015-01-08 06:09:20

标签: yii2

yii2 documentation 中,我发现有一种方法可以将活动记录转换为数组。

Customer::find()->asArray()->all();

但我不能这样使用: -

Customer::findModel($id)->asArray();

我该怎么办?请帮忙

3 个答案:

答案 0 :(得分:16)

您应该将asArray()添加到ActiveQuery,而不是ActiveRecord的实例。 假设您的主键列名为id,您应该将模型查找代码更改为:

Customer::find(['id' => $id])->asArray()->one();

答案 1 :(得分:14)

整个模型为数组

$model = Customer::find($id)->asArray()->one();

选择特定列

 $model = Customer::find($id)->select('id,name')->asArray()->one();

选择特定列作为别名

$model = Customer::find($id)->select('id,name as full')->asArray()->one();

条件

$model = Customer::find()->where(['email'=>$email])->asArray()->one();

整个记录?

$model = Customer::find($id)->asArray()->all();

答案 2 :(得分:1)

你可以使用

$model = Customer::findModel($id);
$model->attributes;