對json資料的搜尋
"meta": {
"wants_newsletter": true,
"favorite_color": "red"
}
資料庫儲存形式 {"wants_newsletter": true, "favorite_color": "red" }
where(‘channel->favorite_color’,’red’) 模型和資料庫查詢都可以
資料庫儲存形式 ["2222","2222"]
whereRaw("JSON_CONTAINS(channel,'[\"$da\"]')")
資料庫儲存形式 [2222,2222]
whereRaw("JSON_CONTAINS(channel,'$da')")
資料庫儲存形式 [222,2222]
whereRaw("JSON_CONTAINS(channel,'[".$da."]')")
資料庫儲存形式[{"wants_newsletter": true, "favorite_color": "red" },{"wants_newsletter": true, "favorite_color": "red" }]
whereRaw("channel-> '$[*].favorite_color' LIKE '%$fiel%'")
w.val -> '$[*].*' LIKE '%峰%'
1.w.val欄位是JSON陣列[無所謂JSONObject還是JSONArray]
[反正如果按照物件查,那陣列是匹配不到的]
[反之,如果按照陣列查,物件也是匹配不到的]
2.'$[*].*'
代表查詢JSONArray 陣列格式的JSON字串中,
第一個* 代表任意下標
第二個* 代表任意屬性
3.LIKE '%峰%'
匹配條件和正常sql 查詢條件一樣 寫
對json資料的儲存
資料庫型別為 json型別
模型檔案設定
protected $casts = [
'file' => 'json', // 宣告json型別\
'file' => 'json', // 宣告json型別\
]
postman
raw application/json
file:["222","222"]
[原生操作地址](https://www.cnblogs.com/ShouWangYiXin/p/10567951.html)
新增陣列查詢
例如欄位channel 欄位值 [{"channels":"3"}]
JSON_CONTAINS(channel,JSON_OBJECT('channels', "3"))
本作品採用《CC 協議》,轉載必須註明作者和本文連結