如何比较Laravel中JSONB列中的字段?

如何比较Laravel中JSONB列中的字段?,json,laravel,postgresql,eloquent,Json,Laravel,Postgresql,Eloquent,我有一个类型为JSONB(postgresql)的列,我需要检查这个JSON结构的一个字段。例如数据->蔬菜->西红柿->重量->值>=“12”。我使用了whereJsonContains,但它只支持=或include,我还使用了where('data->plate->tomato->weight->value','>=',12),结果是错误的,我读到可能是因为类型。它是Json结构中的字符串,12也是字符串。但我知道我可以这样做(int)12,它将被解决。但我无法理解如何在雄辩的中解决它,就像

我有一个类型为JSONB(postgresql)的列,我需要检查这个JSON结构的一个字段。例如
数据->蔬菜->西红柿->重量->值>=“12”
。我使用了
whereJsonContains
,但它只支持
=或include
,我还使用了
where('data->plate->tomato->weight->value','>=',12)
,结果是错误的,我读到可能是因为类型。它是Json结构中的字符串,12也是字符串。但我知道我可以这样做(int)12,它将被解决。但我无法理解如何在雄辩的中解决它,就像
查询->whereRaw('(数据->\'vegets\'->\'tomato\'->\'weight\'>>\'value\')::int>='(int)12)
这里
数据是表的一列,
->
显示JSON结构的列,
>
显示列的值,
::int
-就像演员一样