【发布时间】:2021-12-02 02:30:53
【问题描述】:
我有一个列名测试,我在其中存储一个 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",
}
],
}
我正在尝试获取供应商值为 Samsung-1 的数据
我的查询是这样的
$query = Test::where('id','4030662213806')
$query->orWhereJsonContains('test->line_items->vendor',$val);
也试过了
$query->orWhereJsonContains('test->line_items->vendor',$val);
但是没用
请帮忙
【问题讨论】:
-
我认为你不需要
test。line_items->vendor -
如你所见 line_items 是一个数组,所以只有 line_items->vendor 工作?我也试过像 line_items[0]->vendor line_items[1]->vendor
-
根据您的代码,
test是您的表名,但您说您还有一个名为test的列,我认为您这里有误。 -
好吧,假设表名是 Order I added test only for example
标签: jquery arrays json laravel