Yii2 findModel to Array

Chh*_*oro 11 yii2

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

Customer::find()->asArray()->all();
Run Code Online (Sandbox Code Playgroud)

但我不能这样使用: -

Customer::findModel($id)->asArray();
Run Code Online (Sandbox Code Playgroud)

我应该怎么做?请帮忙

aro*_*hev 16

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

Customer::find(['id' => $id])->asArray()->one();
Run Code Online (Sandbox Code Playgroud)


Muh*_*zad 14

整个模型作为数组

$model = Customer::find($id)->asArray()->one();
Run Code Online (Sandbox Code Playgroud)

选择特定列

 $model = Customer::find($id)->select('id,name')->asArray()->one();
Run Code Online (Sandbox Code Playgroud)

选择特定列作为别名

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

哪里条件

$model = Customer::find()->where(['email'=>$email])->asArray()->one();
Run Code Online (Sandbox Code Playgroud)

整个记录?

$model = Customer::find($id)->asArray()->all();
Run Code Online (Sandbox Code Playgroud)