在Get_Where查询中匹配JSON字段(代码点火器)

时间:2017-06-21 17:31:24

标签: php mysql json codeigniter

我在get_where查询中执行了result_array(),但'added_by'中的列是json格式为{'id':'(id)'}

如何进行get_where查询以匹配当前用户ID。

到目前为止我所拥有的。

$this->db
     ->order_by('till', 'desc')
     ->get_where('coupon', 
          [
               'added_by' => json_encode(array('id'=> $this->session->user_id)), 
               'status' => 'ok'
          ]
     )
     ->result_array()

1 个答案:

答案 0 :(得分:0)

json_encode将返回{"id": $id}。如果您对{"id": "$id"}没问题,那么您只需要强制强制转换为字符串:

json_encode(array('id'=> $this->session->user_id . ''))

如果您需要{'id': '$id'},则需要手动进行字符串替换。

str_replace( '"', '\'', json_encode(array('id'=> $this->session->user_id . ''))