0

我想更新availablefalsewhere toy->id=27。任何人都可以给我这个 laravel 雄辩的查询吗?谢谢。

{
   "color":"red",
   "toy":{
      "id":27,
      "name":"Truck",
      "price":12,
      "available":true
   },
   "quantity":"12"
}
4

1 回答 1

1

在 Postgresql 中,您可以使用 JSONB_SET,如下所示:


update table set data=JSONB_SET(data, '{toy,available}','false') where data->'toy'->>'id'='27';

您可以在DB::update中执行此操作,即


DB.update("update table set data=JSONB_SET(data, '{toy,available}','false') where data->'toy'->>'id'='27';

参考:https ://laravel.com/docs/8.x/database#database-transactions

于 2021-11-29T07:37:37.143 回答