【发布时间】:2020-01-10 12:05:40
【问题描述】:
我有一个名为"info" 的列的mysql db,这是json 列。
我有这个json:
{
"pizza":{
"sugar":"yes",
"calorie":"100",
"protein":"no"
},
"hamburger":{
"sugar":"no",
"calorie":"120",
"protein":"yes"
}
}
当我想更新例如比萨的卡路里时没有问题:
DB::table('food')->where('id', '=', '1')
->update(array('info->pizza->calorie' => '90'));
然后在我的数据库中:
{
"pizza":{
"sugar":"yes",
"calorie":"90",
"protein":"no"
},
"hamburger":{
"sugar":"no",
"calorie":"120",
"protein":"yes"
}
}
但是当我想添加一些食物时,例如巧克力:
DB::table('food')->where('id', '=', '1')
->update(array('info->chocolate->calorie' => '10'));
什么都没发生。
我可以通过什么方式做到这一点?谢谢!
【问题讨论】:
-
我看到了
pizza对象,但我在代码中的任何地方都没有看到chocolate对象。 -
@UdoE。代码中没有巧克力。我想加比萨饼和汉堡包这样的巧克力……
标签: arrays json laravel laravel-5