2

在 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。

4

0 回答 0