yii2在活动查询请求中获取getter的值(使用asArray())

时间:2016-08-01 14:12:37

标签: activerecord yii2

我有下一个代码:

    $fixed_events = EventMain::find()
        ->select(["id", "title", "files"])
        //->joinWith(['files'])
        //->with(['files'])
        ->asArray()
        ->all();

我怎样才能获得带有“文件”值的数组,考虑到“文件”是模块的吸气剂,如

public function getFiles()
{
    return (json_decode($this->all_files, true)) ?: [];
} 

1 个答案:

答案 0 :(得分:0)

由于files不是与EventMain表的关系,我想最简单的方法是处理数据并在从db发出后用ArrayHelper进行转换:

<?php
use yii\helpers\ArrayHelper;


$models = EventMain::find()->select(['id', 'title'])->all();

$array = ArrayHelper::toArray($models, [
    'app\models\EventMain' => ['id', 'title','files']
]);

var_dump($array);
?>