$infoModel = InfoModel::findOne(1);
Ce qui précède consiste à trouver les données avec l'identifiant 1. J'ai imprimé $infoModel, qui est un objet. Cependant, les données correctes peuvent être imprimées avec succès en affichant les 2 phrases suivantes. :
echo $infoModel -> name; //这个可以理解 他是对象可以->
echo $infoModel['name']; //这个不理解 他不是数组啊
Ce qui suit est le $infoModel imprimé :
app\models\InfoModel Object
(
[_attributes:yii\db\BaseActiveRecord:private] => Array
(
[id] => 1
[name] => 我问问2
[age] => 32
)
[_oldAttributes:yii\db\BaseActiveRecord:private] => Array
(
[id] => 1
[name] => 我问问2
[age] => 32
)
[_related:yii\db\BaseActiveRecord:private] => Array
(
)
[_errors:yii\base\Model:private] =>
[_validators:yii\base\Model:private] =>
[_scenario:yii\base\Model:private] => default
[_events:yii\base\Component:private] => Array
(
)
[_behaviors:yii\base\Component:private] => Array
(
)
)
Aussi, au fait<?php echo $form -> field($infoModel,'name')->textInput(array('value' => $infoModel['name'])); Le premier paramètre $infoModel du champ ici est-il nécessairement un objet modèle ? J'ai essayé de convertir $infoModel en tableau dans le contrôleur et une erreur s'est produite ? ? ?
AR est accessible en mode tableau car il implémente la
ArrayAccess
这个接口啊,想取出数据内容可以用模型的getAttributes
méthode