[英]Query JSON Array with Eloquent
在Laravel 5.3中,我在postgres數據庫中有一個名為_days的JSON列。
我嘗試查詢如下所示:
$day=3
//_days = '[true,false,false,true,true,false,true]'
$query->where('_days->'.$day,'true')->first();
我正在嘗試做的是檢查json數組的索引3是否為true。 不幸的是,它返回null 。
在獲取雄辯查詢的sql時,我發現它會生成以下SQL:
select *
from "table"
where "_days"->>'3' = true
這當然是行不通的,因為它試圖在沒有鍵的地方找到鍵“ 3”。
我想得到的查詢是:
select *
from "table"
where "_days"->>3 = true
我如何才能做到這一點,而要反復嘗試創建原始查詢並僅使用雄辯的方法?
我想我會從JSON列中創建一個集合,然后像這樣從索引3開始
collect(json_decode('[true,false,false,true,true,false,true]'))->get($day)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.