suchen

Heim  >  Fragen und Antworten  >  Hauptteil

php - Kann auf die von Yii2 AR erkannten Objekte im Array-Modus zugegriffen werden? ?

$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<?php echo $form -> 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? ? ?

给我你的怀抱给我你的怀抱2714 Tage vor894

Antworte allen(1)Ich werde antworten

  • 習慣沉默

    習慣沉默2017-06-23 09:13:24

    AR 能数组式访问是因为实现了ArrayAccess这个接口啊,想取出数据内容可以用模型的 getAttributes方法

    Antwort
    0
  • StornierenAntwort