【问题标题】:Laravel add an element to array inside a json columnLaravel 向 json 列中的数组添加一个元素
【发布时间】:2021-09-15 01:31:47
【问题描述】:

假设我们有一个用户,其参数字段如下:

User::first()->parameters
=> [
     "pins" => [
       1,
     ],
   ]

现在我想添加另一个图钉来获得这样的效果:

User::first()->parameters['pins']
=> [
     2,
     1,
   ]

目前我正在使用以下查询:

User::first()->update(['parameters' => ['pins' => array_merge([2], User::first()->parameters['pins'])]])

我想知道是否有任何 Eloquent 方法可以在不先获取引脚的情况下做到这一点(我的意思是没有 User::first()->parameters['pins'])。因为mysql支持JSON_ARRAY_APPEND()

【问题讨论】:

    标签: php mysql json laravel eloquent


    【解决方案1】:

    这是更新字段数组的唯一方法。

    为了更好,您可以使用 one to many 表命名,如 user_parameters 并使用类似 $user->parameter()->create() 的东西使用 eloquent 关系,插入新值而不获取旧数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 2021-03-20
      • 1970-01-01
      • 2013-09-23
      • 1970-01-01
      • 2018-09-28
      • 2013-03-31
      相关资源
      最近更新 更多