【问题标题】:How to store array data into database in Laravel如何在 Laravel 中将数组数据存储到数据库中
【发布时间】:2016-10-06 00:16:06
【问题描述】:

我有一些 JSON 数据;我将 JSON 数据解码为一个数组,现在我需要将链接列、id 列和用户名列保存到我的数据库表中(表名可能是产品)。那么如何在 Laravel 中将此列插入/保存到数据库中呢?我的单节点数组结构格式如下。

   {
        0 => {
          +"attribution": null
          +"tags": array:11 
          +"type": "image"
          +"location": null
          +"filter": "Normal"
          +"created_time": ""
          +"link": "https://www.url.com/p/myimage1/"
          +"id": "4354"
          +"user": {
            +"username": "user"
            +"profile_picture": "https://mypic.jpg"
            +"id": "224"
            +"full_name": ""
          }
        }
       
        }

【问题讨论】:

  • 有什么问题? 1) 创建类对象 2) 设置对象属性值 3) 保存对象。
  • 阅读this
  • @RaviHirani 您根据此提供的链接在数据库中创建了一条新记录,但我的问题不同,我已经有数组数据,我需要将此数据保存到我的数据库产品表中。
  • @raj:在这种情况下,您需要通过 PK 查找记录。请参阅此链接:- 检索单个模型/聚合

标签: php mysql json laravel


【解决方案1】:

一种方法是保存原始 json 数据或使用 ->toJson()json_encode() 将数组转换为 json 并将其作为 Json 数据保存到数据库中:

$table->json('options'); // JSON equivalent for the database.

https://laravel.com/docs/5.2/migrations#writing-migrations

【讨论】:

    【解决方案2】:

    您可以使用toJson() 方法如下:

    $table->toJson('options');
    

    【讨论】:

      猜你喜欢
      • 2017-10-25
      • 2021-03-12
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2017-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多