如何在Laravel query Builder中构建此查询
SELECT * FROM table WHERE json_field->'tags' @> ANY (ARRAY ['1', '56', '34']::jsonb[]);
Laravel有方法db::WhereJsonContains()
,但它搜索和
条件,但我需要或
条件。。。
DB::table('table')->whereJsonContains('json_field', ['tags' => [1, 56, 36]]);
您可以使用orWhereJsonContains
$tags=[1,56,36];
$query= DB::table('table')->whereJsonContains('json_field', $tags[0]);
for($i=1;$i<count($tags);$i++)
{
$query=$query->orWhereJsonContains('json_field',$tags[$i]);
}
$values=$query->get();