Size: a a a

2020 May 14

Д

Дмитрий in Yii Framework 2
Жириновский.
У нас InnoDB
сам мускл сервер - mariaDB или оригинальный мускл?
источник

А

Аль Пачино in Yii Framework 2
На mariaDB.
источник

A

Alex in Yii Framework 2
Всем привет

есть таблица в postgresql, в которой хочу хранить JSON в одной ячейке tags(тип столбца jsonb) и чтобы они сохранялись так ["name", "some name"] или ["name"]

Есть модель наследуемая от \yii\db\ActiveRecord
$data = new SomeModel();
$data->tags = '["name"]';
$data>save();


Но когда записываю данные, то в ячейке она сохраняется так "[\"name\"]" вместо ["name"]

можете подсказать в чём дело?
источник

Д

Дмитрий in Yii Framework 2
Аль Пачино
В MariaDB умеет искать в JSON.
умеет, но пхпщный драйвер неумеет декодить автоматом.
источник

Д

Дмитрий in Yii Framework 2
источник

А

Аль Пачино in Yii Framework 2
Дмитрий
умеет, но пхпщный драйвер неумеет декодить автоматом.
Декодироваться потом.
источник

Д

Дмитрий in Yii Framework 2
я вот это юзаю чтоб оно автоматом декодило json поля.
источник

Д

Дмитрий in Yii Framework 2
ну и сохраняло тоже
источник

А

Аль Пачино in Yii Framework 2
Alex
Всем привет

есть таблица в postgresql, в которой хочу хранить JSON в одной ячейке tags(тип столбца jsonb) и чтобы они сохранялись так ["name", "some name"] или ["name"]

Есть модель наследуемая от \yii\db\ActiveRecord
$data = new SomeModel();
$data->tags = '["name"]';
$data>save();


Но когда записываю данные, то в ячейке она сохраняется так "[\"name\"]" вместо ["name"]

можете подсказать в чём дело?
Так для json надо encode.
источник

A

Alex in Yii Framework 2
а как это записать?
источник

A

Alex in Yii Framework 2
я просто новичёк
источник

А

Аль Пачино in Yii Framework 2
Alex
а как это записать?
$this->tags = json_encode($array);
источник

Д

Дмитрий in Yii Framework 2
Аль Пачино
$this->tags = json_encode($array);
и получит он тоже самое =)))
источник

A

Alex in Yii Framework 2
как мне кажется, ActiveRecord сам кодирует строку перед записью, а как это обойти не нашёл
источник

Д

Дмитрий in Yii Framework 2
Alex
как мне кажется, ActiveRecord сам кодирует строку перед записью, а как это обойти не нашёл
JsExpression
источник

A

Alex in Yii Framework 2
Дмитрий
JsExpression
ок, спасибо)
источник

Д

Дмитрий in Yii Framework 2
только вот разве он сам не будет энкодить массив в jsonb ? знатоки! я просто postgres не юзал.
источник

Д

Дмитрий in Yii Framework 2
должен же вроде сам автоматом?
источник

V

Victooor in Yii Framework 2
Дмитрий
только вот разве он сам не будет энкодить массив в jsonb ? знатоки! я просто postgres не юзал.
есть json а есть jsonb
источник

А

Аль Пачино in Yii Framework 2
Дмитрий
должен же вроде сам автоматом?
Не видел в base AR кодирования и декодирования JSON.
источник