我是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();
答案 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
}
让我知道这是否对您有帮助,以便为遇到相同问题的任何人提供正确答案的编辑。