locustv2/yii2-json-data-behavior

允许您轻松地在activerecords中编码和解码json。它在验证和保存到数据库前自动编码,并在之后解码。

1.0.0 2017-03-31 19:15 UTC

This package is not auto-updated.

Last update: 2024-09-15 01:43:45 UTC


README

允许您轻松地在activerecords中编码和解码json。它在验证和保存到数据库前自动编码,并在之后解码。

Latest Stable Version Total Downloads Latest Unstable Version License

安装

安装此库的首选方式是通过composer

运行以下命令之一:

php composer.phar require --prefer-dist locustv2/yii2-json-data-behavior

{
    "require": {
        "locustv2/yii2-json-data-behavior": "~1.0.0"
    }
}

将其添加到您的composer.json文件中。

使用方法

public function behaviors()
{
    return [
        'class' => \locustv2\behaviors\JsonDataBehavior::className(),
        'dataAttribute' => 'hotel_data',
    ];
}

按照上述方式配置您的activerecord后,可以使用如下方式

$model = Hotel::find()->one();

var_dump($model->getData('rooms')); // assume it returns a list of rooms
var_dump($model->getData('rooms.0.price')); // to get rooms data

$model->setData('ratings', [
    '5star' => ['count' => 100],
    '4star' => ['count' => 200],
    '3star' => ['count' => 20],
    '2star' => ['count' => 75],
    '1star' => ['count' => 50],
]);

var_dump($model->getData('ratings.3star.count')); // returns 20

要做的

  • 添加单元测试

贡献

请随意发送pull requests。

许可证

有关许可证信息,请查看LICENSE文件。