【问题标题】:How to apply filter on JSON format database in CodeIgniter如何在 CodeIgniter 中对 JSON 格式数据库应用过滤器
【发布时间】:2018-06-06 15:02:02
【问题描述】:

我有一个名为“literature”的表的数据库,该表中只有一列“item_details”具有以下 JSON 格式的数据:-

{
    "book":[
            {
                "language":"English",
                "author":["Y.Nikhilendra","Paresh Khairnar","Madhabendra Rout"]
            },
            {
                "language":"English",
                "author":["Sai Seetharam Nomula"]
            }
        ],
    "diary":[
            {
                "language":"Hindi",
                "author":["Partha Banerjee"]
            },
            {
                "laguage":"English",
                "author":["Gaurav Pandey"]
            }
        ]
}

我想根据 CodeIgniter 中的languages 应用过滤器选项。 在控制器中

public function view()
{
    $response = $this->view_model->viewModel( $language);       
}

型号:-

public function viewModel($language)
{
    $this->db->select(*);
    $this->db->from('literature');
    $this->db->where
    //What would be structure of where clause?
}

【问题讨论】:

  • 在您尝试查找 CodeIgniter 语法之前,请尝试查找原始 sql 语法。 json 类型有一些严重的限制。如果你有需要过滤的数据,json 通常不是一个好的选择。

标签: php json codeigniter


【解决方案1】:

使用json_extract

WHERE(json_extract(json_each.value, '$.email') LIKE '%criteria%');

Reference Link

编辑:

如果您看到函数不存在,那么这个答案可能会对您有所帮助。 answer link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 2016-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多