在 Laravel 的最新版本中,您可以选择检查 Json 值是否包含某些值。为什么这whereJsonContains不像我预期的那样工作:
$users = User::whereJsonContains('options->foobar', 96)->get();
这是存储在options列中的内容(例如):
{"foobar":[96,11,271,256],"sheep":[80,111]}
我想要的是在“foobar”数组中获取所有值为 96 的用户。
这样做的正确方法是什么?
这是我转储它时的查询->toSql():
select * from "users" where ("options"->'foobar')::jsonb @> ?
所以问题是:
如何显示所有在 JSON 数组中具有价值96的用户?foobar
我正在使用 PostgreSQL。