jberall / yii2-json-behavior
为Postgresql jsonb列附加行为
dev-master
2017-05-16 21:01 UTC
Requires
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-29 01:44:21 UTC
README
为Postgresql jsonb列附加行为
安装
安装此扩展的首选方法是使用 composer。
运行以下命令之一
php composer.phar require --prefer-dist jberall/yii2-json-behavior "*"
或
"jberall/yii2-json-behavior": "*"
将以下内容添加到您的 composer.json 文件的 require 部分。
用法
安装扩展后,只需在代码中使用它即可:您需要将 json_attribute 识别为数据库中的列。将会检查模型和属性是否存在。
use jberall\jsonbehavior;
//declare the variables.
//attributes.
public $some_attribute,$another_attribute;
//objects
public $dimension;
//arrayObjects.
public $emails, $phone_numbers;
public function behaviors() {
$behaviors = [
'attributeJsonBehavior' =>[
'class' => JsonBehavior::className(),
'attributes' => ['some_attribute'=>null, 'another_attribute'=>null],
'json_attribute'=> 'data_json',
],
'objectJsonBehavior' => [
'class' => JsonBehavior::className(),
'arrayObjects' => [
'dimension'=>'\full\path\Dimension',
],
'json_attribute'=> 'data_json',
],
'arrayObjectsJsonBehavior' => [
'class' => JsonBehavior::className(),
'arrayObjects' => [
'emails'=>\full\path\'Email',
'phone_numbers'=>'\full\path\PhoneNumber',
],
'json_attribute'=> 'data_json',
],
//OR Combine into one.
'namedBehavior' => [
'class' => JsonBehavior::className(),
'attributes' => ['some_attribute'=>null, 'another_attribute'=>null],
'arrayObjects' => [
'dimension'=>'\full\path\Dimension',
],
'arrayObjects' => [
'emails'=>\full\path\'Email',
'phone_numbers'=>'\full\path\PhoneNumber',
],
'json_attribute'=> 'data_json',
],
];
return ArrayHelper::merge(parent::behaviors(),$behaviors);
}