如何使用Codeigniter从JSON列检索数据?

时间:2019-09-23 15:01:24

标签: mysql json codeigniter

我是Codeigniter的初学者。我正在尝试从SQL数据库的json列中检索数据 数据库结构是这样的

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 :(得分:0)

好吧,我以前从未像这样工作过,但是在用户ascsoftw的帮助下,我发现this section on the MySQL documentation可能会有所帮助,I think this is even better for you case

然后,您的查询可能看起来像这样(很抱歉,如果我像我说的那样弄错了,以前从未像这样工作过):

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

据我了解,这将检索具有DC描述(以及数组索引1)的鼠标的所有ID(数组索引1)。

如果这样做没有帮助,您可以继续阅读MySQL的文档。

值得一提的是,您可以通过多种方式在CodeIgniter中进行查询,如果CI查询构建器无法适应您想要的工作,则可以始终按照以下示例进行操作:

    $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
    }

让我知道这是否对您有帮助,以便为遇到相同问题的任何人提供正确答案的编辑。