小编Gab*_*ade的帖子

如何将包含数组的 JSON 表迁移到 SQL?

我是一名实习前端开发人员。从来没有真正喜欢过后端,所以我对 SQL 知之甚少。

但是我们在这里,在我需要做后端的那些冒险时期之一,因为我也被分配了。嗯,我们有一个内部系统来跟踪我们正在重建的一些关于我们自己的数据。以前的系统使用 JSON 文件来存储其数据,格式如下:

{
  "id": 123,
  "userId": 522,
  "effortDate": "2020-06-05",
  "data": [
    {
      "projectId": 14,
      "value": 7
    },
    {
      "projectId": 23,
      "value": 3
    }
  ],
  "updatedAt": "2020-06-08T10:13:11-03:00",
  "createdAt": "2020-06-08T10:13:11-03:00"
}
Run Code Online (Sandbox Code Playgroud)

我们正在转向基于 SQL 的数据库。因此,根据我对关系数据库工作原理的基本了解,

我已经建立了这个模型:

我已经建立了这个模型.

问题是:至少现在,我们为应用程序使用相同的前端,所以我需要以与当时只有 JSON 时相同的格式解析数据。而对于系统的基本操作,它需要从现在,两个表,一直以来的所有数据。

我的第一个想法是将它们与两个不同的 SELECT 强行混合在一起。我想,这还不错(也许是因为它有效),除了我们要处理数千个条目,所以我担心事情可能会变慢。这是我用来解析它的代码:

public function getAllEfforts() {
  /* Get all data from `effort` */
  $effortQuery = "SELECT id, userId, effortDate, createdAt, updatedAt
                  FROM efforts;";

  $efforts = $this->pdo
    ->query($effortQuery)
    ->fetchAll(PDO::FETCH_ASSOC);

  /* Get all data from `effort_data` …
Run Code Online (Sandbox Code Playgroud)

php mysql arrays json mariadb

6
推荐指数
1
解决办法
185
查看次数

标签 统计

arrays ×1

json ×1

mariadb ×1

mysql ×1

php ×1