Postgres Laravel-jsonb字段中对象的查询数组
我在Postgres Laravel-jsonb字段中对象的查询数组,laravel,postgresql,jsonb,Laravel,Postgresql,Jsonb,我在bookings表中的jsonb字段destination\u data中有数据,为了清晰起见,我删除了不相关的属性: [ { "uuid": "20670fe3-eb4a-4097-b29c-78b4b5a7ffc0" }, { "uuid": "20424d4f-7ffd-4fd2-a434-74f318385ccf" }, {
bookings
表中的jsonb字段destination\u data
中有数据,为了清晰起见,我删除了不相关的属性:
[
{
"uuid": "20670fe3-eb4a-4097-b29c-78b4b5a7ffc0"
},
{
"uuid": "20424d4f-7ffd-4fd2-a434-74f318385ccf"
},
{
"uuid": "eb5e12b3-25bb-43a5-9e8e-02ebc0831edf"
},
{
"uuid": "78600c45-18b7-4eb8-8f5c-403296bd1635"
},
{
"uuid": "f96f5751-d984-435e-9361-14c767ce312d"
}
]
我试图通过计算ID来检查此表中是否存在destination\u data
UUID。我的查询直接在Posrgres中工作:
SELECT count(*)
FROM bookings, jsonb_array_elements(destination_data) with ordinality arr(item_object, position)
WHERE item_object->>'uuid' = '20670fe3-eb4a-4097-b29c-78b4b5a7ffc0';
输出:1
但是,在Laravel中,输出为7,查询如下:
$bookings->select(
DB::raw(
"* FROM bookings, jsonb_array_elements(destination_data) with ordinality arr(item_object, position)
WHERE item_object->>'uuid' = '20670fe3-eb4a-4097-b29c-78b4b5a7ffc0'"
)
)->count();
我做错了什么