Как CONCAT значение двух столбцов в формате JSON? - PullRequest
0 голосов
/ 14 января 2019

Я бы хотел CONCAT значение двух столбцов в одну строку в формате string в JSON. Однако у меня есть проблема с кавычкой и двойной кавычкой в ​​запросе. Как мне исправить мой запрос, чтобы он успешно дал ожидаемый результат?

$concat = "CONCAT('{"CODE":"pm_r.CODE","NAME":"pm_r.NAME"}') AS `JSON`"
$query  = $this->db->query(
    'SELECT pm_r.ID_REQUIREMENT, '.$concat.'FROM `pm_requirement` `pm_r`'
);

Ожидаемый выход должен быть:

ID_REQUIREMENT   JSON
ID001            {"CODE":"001","NAME":"Shane"}

1 Ответ

0 голосов
/ 14 января 2019

Чтобы избежать кавычек, решение состоит в том, чтобы использовать php HEREDOC string .

Я также исправил вас CONCAT, где имена столбцов для объединения должны быть отделены от фиксированных частей строки.

$query  = $this->db->query(<<<EOT
    SELECT 
        pm_r.ID_REQUIREMENT,
        CONCAT('{"CODE":"', pm_r.CODE, '","NAME":"', pm_r.NAME, '"}') AS `JSON`
        FROM `pm_requirement` `pm_r`
EOT
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...