Компонент для хранение атрибутов модели в одной json строке

Обсуждение документации второй версии фреймворка. Переводы Cookbook и авторские рецепты.
Ответить
xakki
Сообщения: 3
Зарегистрирован: 2013.03.20, 11:57

Компонент для хранение атрибутов модели в одной json строке

Сообщение xakki » 2019.02.22, 22:31

Выложил одно из своих решений, для хранения атрибутов модельки в одном поле.
Так как я использую в качестве БД PostgreSql , это решение облегчило добавление новых атрибутов.
Конечно же по этим атрибутом просто так искать не получится (на PostgreSql это довольно специфичные запросы).
https://github.com/Xakki/yii2-ar-json

Код: Выделить всё

/**
 * Example class
 * @property integer $id
 * @property string $create
 * @property string $text
 * @property array $data
 */
class Example extends \xakki\yii2-ar-json\components\ActiveRecordJson
{
    protected $_json_attribute = 'option';
    protected $_json_catch = ['text', 'data', 'info'];

    public static function tableName()
    {
        return '{{example}}';
    }
   
    public static function doSomeThing() {
        $thisData = self::findOne(1);
        echo $thisData->text;
        print_r($thisData->data);
    }
}

Ответить