emidia/yii2-jsonify

在模型保存数据前将数组转换为JSON的行为

v1.0 2015-09-25 16:19 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:21:23 UTC


README

在模型保存数据前将数组转换为JSON的行为

安装

通过composer安装

composer require emidia/yii2-jsonify

或者您可以在composer.json中手动添加依赖项

 "emidia/yii2-jsonify": "*"

如何使用

要使用JsonifyBehavior,将以下代码插入到您的ActiveRecord类中

use emidia\yii2\JsonifyBehavior;
public function behaviors()
{
    return [
        JsonifyBehavior::className(),
    ];
}

默认情况下,JsonifyBehavior会将数组填充到json_data属性中,并转换为JSON编码的字符串

如果您的属性名称不同,您可能需要配置[[attribute]]属性,如下所示

public function behaviors()
{
    return [
        [
            'class' => JsonifyBehavior::className(),
            'attribute' => 'data',
        ],
    ];
}

因此,如果在一个模型属性中设置数组,此行为将所有数据转换为JSON

$model->setAttributes([
  'data' => [
    'id'=> 12,
    'title' => 'test'
  ]
]);