2017-06-21 56 views
0

我在我的get_where查詢中執行result_array(),但'added_by'中的列是json格式以{'id':'(id)'}在Get_Where查詢(代碼點火器)中匹配JSON字段

如何執行get_where查詢以匹配當前用戶標識。

繼承人我到目前爲止。

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

回答

0

json_encode將返回{"id": $id}。如果你是{"id": "$id"} OK,那麼你只需要強制要挾到字符串:

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

如果需要{'id': '$id'},你需要做一個字符串手動替換。

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

這僅適用於如果在數據庫中的{「類型」:和「身份證」}所有單'......我需要用它來像{‘型’雙引號的工作:‘ID’ – Gilbert

+0

@Gilbert如果它需要加倍,那麼使用第一個例子:-) – cwallenpoole