php - Yii2 AR查出來的物件使用陣列方式也可以存取? ?
给我你的怀抱
给我你的怀抱 2017-06-23 09:11:24
0
1
878

$infoModel = InfoModel::findOne(1);
上面就是查找id為1的數據,我印過$infoModel,他是個物件
可是輸出以下2句都可以成功列印正確資料:

echo $infoModel -> name; //这个可以理解   他是对象可以->
echo $infoModel['name']; //这个不理解  他不是数组啊

以下是列印的$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
        (
        )

)

還有順便問下<?php echo $form -> field($infoModel,'name')->textInput(array('value' => $infoModel['name'])); ?>
這裡的field的第一個參數$infoModel是不是一定是模型對象,我試著在控制器把$infoModel轉成數組就報錯了? ? ?

给我你的怀抱
给我你的怀抱

全部回覆(1)
習慣沉默

AR 能數組式存取是因為實作了ArrayAccess這個介面啊,想取出資料內容可以用模型的 getAttributes方法

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!