Yii2 array field behavior (usage https://github.com/petrgrishin/array-access)
Add a dependency to your project's composer.json:
{
"require": {
"petrgrishin/yii2-array-field": "~2.0"
}
}
Model have text attribute data
for storage array
namespace app\models;
use yii\db\ActiveRecord;
use \PetrGrishin\ArrayField\ArrayAccessFieldBehavior;
class Model extends ActiveRecord{
public function behaviors() {
return [
'arrayField' => [
'class' => ArrayAccessFieldBehavior::className(),
'fieldNameStorage' => 'data',
]
];
}
}
$model = Model::find(1)->one();
$model->arrayField->setValue('a.b', true);
$value = $model->arrayField->getValue('a.b');
$array = $model->arrayField->getArray();
$model = Model::find(1)->one();
$model->arrayField->setValue('a.b', true);
$model->arrayField->save();