$infoModel = InfoModel::findOne(1);
Das Obige dient dazu, die Daten mit der ID 1 zu finden. Ich habe $infoModel gedruckt, bei dem es sich um ein Objekt handelt. Die korrekten Daten können jedoch erfolgreich gedruckt werden, indem die folgenden 2 Sätze ausgegeben werden :
echo $infoModel -> name; //这个可以理解 他是对象可以-> echo $infoModel['name']; //这个不理解 他不是数组啊
Das Folgende ist das gedruckte $infoModel:
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 ( ) )
Übrigens field($infoModel,'name')->textInput(array('value' => $infoModel['name']));
Ist der erste Parameter $infoModel des Feldes hier unbedingt ein Modellobjekt? Ich habe versucht, $infoModel in ein Array im Controller umzuwandeln, und es ist ein Fehler aufgetreten? ? ?
AR 能数组式访问是因为实现了
ArrayAccess
这个接口啊,想取出数据内容可以用模型的getAttributes
方法