Поддержка JSON типа полей в 2.0.14 не работает?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Matvik
Сообщения: 194
Зарегистрирован: 2013.06.21, 02:32

Поддержка JSON типа полей в 2.0.14 не работает?

Сообщение Matvik »

Может туплю, подскажите:
В доках написано следущее:
JSON in MySQL and PostgreSQL

After data population, the value from JSON column will be automatically decoded from JSON according to standard JSON decoding rules.

To save attribute value to a JSON column, ActiveRecord will automatically create a [[yii\db\JsonExpression|JsonExpression]] object that will be encoded to a JSON string on QueryBuilder level.
У меня есть, например, поле в базе с типом JSON, раньше я его декодил вручную. Теперь же, как я понимаю, ничего декодить не надо?
Но, почему-то, после обновления при выборке возвращает, как и раньше, просто строку.

Версия фреймворка точно 2.0.14, на дебаг панели видно.

Вот кусок кода, который работает, как и раньше:

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

public function getDataParameter(string $param)
    {
        if (!$this->delivery_data) {
            return null;
        }
        $data = Json::decode($this->delivery_data);
        return ArrayHelper::getValue($data, $param);
    }
Matvik
Сообщения: 194
Зарегистрирован: 2013.06.21, 02:32

Re: Поддержка JSON типа полей в 2.0.14 не работает?

Сообщение Matvik »

И в догонку - как быть с валидацией такого поля? Просто проверять, то там массив, или как? Отдельного валидатора для JSON нету, я так понимаю.
Matvik
Сообщения: 194
Зарегистрирован: 2013.06.21, 02:32

Re: Поддержка JSON типа полей в 2.0.14 не работает?

Сообщение Matvik »

SiZE писал(а): 2018.02.20, 09:16 Декодирование только для Postgre
https://github.com/yiisoft/yii2/tree/2. ... ma.php#L90
В смысле? В доках же по другому написано. То есть кодирование работает, а декодирование - нет? Какой смысл в этом?
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Поддержка JSON типа полей в 2.0.14 не работает?

Сообщение SiZE »

Matvik писал(а): 2018.02.20, 17:32 В смысле? В доках же по другому написано. То есть кодирование работает, а декодирование - нет? Какой смысл в этом?
Я если честно не задавался этим вопросом. Вполне возможно человеческий фактор.
Matvik
Сообщения: 194
Зарегистрирован: 2013.06.21, 02:32

Re: Поддержка JSON типа полей в 2.0.14 не работает?

Сообщение Matvik »

Ок, возможно просто завтык.
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Поддержка JSON типа полей в 2.0.14 не работает?

Сообщение SiZE »

Matvik писал(а): 2018.02.20, 19:14 Ок, возможно просто завтык.
В 2.0.14.1 будет, уже пофиксили
Ответить