Как получить данные из столбца JSON с помощью codeigniter? - PullRequest
0 голосов
/ 23 сентября 2019

Я начинающий с codeigniter.Я пытаюсь получить данные из столбца json моего sql db. Структура db выглядит следующим образом:

DB NAME : order
——————————————————------------------------------------------
 Id    | description
——————————————————————————————————---------------------------
1      |  {“pc”: [{ “brand”: “name”}], “mouse”: [“LL”, “DC”]}
————————————————————————————————————--------------------------

Например, я хочу получить все экземпляры, для которых есть mouse = dc

$data = $this->db->select($select)->from(‘order’)
            ->where(“mouse”, “DC”) ->get()->result();   

1 Ответ

0 голосов
/ 24 сентября 2019

Ну, я никогда не работал так раньше, но с помощью ответа пользователя ascsoftw я нашел этот раздел документации MySQL , который может помочь, Я думаю, что это даже лучше для вас. .

Тогда ваш запрос может выглядеть примерно так (извините, если я ошибаюсь, как я уже говорил, никогда раньше не работал так):

SELECT Id FROM order where description->>"$[1][1]";

Из того, что я понимаю, можно было бы получить все идентификаторы мыши (индекс массива 1) с описанием DC (индекс массива 1 также).

Вы можете продолжать читать документы MySQL, если это не помогло.

Кстати, стоит упомянуть, что у вас есть несколько способов выполнять запросы в CodeIgniter, если запрос CIBuilders не адаптируется к тому, что вы хотите сделать, вы всегда можете сделать, как в следующем примере:

    $query = "SELECT * FROM table_name";

    $result = $this->db->query($query);

    if($result->num_rows() != 0)
    {
       foreach($result->result() as $row)
      {
        return something
      }
    } 
    else
    {
       return false
    }

Дайте мне знать, если это вам помогло, чтобы я мог редактировать с правильным ответом для любого, кто сталкивается с тем жепроблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...