Php 在Get_Where查询(代码点火器)中匹配JSON字段
我在get_where查询中执行一个结果_数组(),但'added_by'中的列是{'id':'(id)}的json格式 如何执行get_where查询以匹配当前用户id 这是我到目前为止得到的Php 在Get_Where查询(代码点火器)中匹配JSON字段,php,mysql,json,codeigniter,Php,Mysql,Json,Codeigniter,我在get_where查询中执行一个结果_数组(),但'added_by'中的列是{'id':'(id)}的json格式 如何执行get_where查询以匹配当前用户id 这是我到目前为止得到的 $this->db ->order_by('till', 'desc') ->get_where('coupon', [ 'added_by' => json_encode(array('id'=> $
$this->db
->order_by('till', 'desc')
->get_where('coupon',
[
'added_by' => json_encode(array('id'=> $this->session->user_id)),
'status' => 'ok'
]
)
->result_array()
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 . ''))
这仅在数据库中其{'type':和'id'}都是单个的情况下有效。。。我需要它使用双引号,比如{“type”:“id”@Gilbert如果需要双引号,那么使用第一个例子:-)