我是 codeigniter 的初学者。我正在尝试从我的 sql 数据库的 json 列中检索数据 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();
最佳答案
好吧,我以前从来没有像这样工作过,但是在用户的帮助下ascsoftw答案,我找到了this section on the MySQL documentation这可能会有所帮助,I think this is even better for you case .
然后,您的查询可能看起来像这样(很抱歉,如果我弄错了,就像我说的,以前从来没有这样工作过):
SELECT Id FROM order where description->>"$[1][1]";
据我所知,这将检索鼠标的所有 ID(数组索引 1)以及 DC 的描述(数组索引 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
}
如果这对您有帮助,请告诉我,这样我就可以为遇到相同问题的任何人编辑正确的答案。
关于mysql - 如何使用 codeigniter 从 json 列中检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58065205/