我有一个列名测试,我在其中存储JSON数据,数据是这样的
{
"id": 4030662213806,
"buyer_accepts_marketing": true,
"cancel_reason": null,
"cancelled_at": null,
"line_items": [
{
"id": 10357822685358,
"vendor": "Samsung-1",
},
{
"id": 10357822685358,
"vendor": "Samsung-2",
},
{
"id": 10357822685358,
"vendor": "Samsung-3",
}
],
}
我试图获得数据供应商值是三星-1
和我的查询是这样的
$query = Test::where('id','4030662213806')
$query->orWhereJsonContains('test->line_items->vendor',$val);
也试过
$query->orWhereJsonContains('test->line_items->vendor',$val);
但不工作
请帮忙
查询line_items
数组中包含关键字vendor
和值Samsung-1
的位置
$query->orWhereJsonContains('test->line_items', ['vendor' => $val]);
另外,如果您试图从test
JSON列查询id
,第一行应该是
$query = Test::where('test->id', 4030662213806);
你可以试试
$query = Test::where('id','10357822685358')
$query->orWhereJsonContains('test->line_items->vendor',$val);
因为它是id和value samsung 1