objective insertgraph,插入新行并与现有行关联或关联

piwo6bdm  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(241)

所以,我对mysql关系、upserting之类的东西不太了解。我正在寻找一个解释如何(如果?)这是可能的。

[
  {
    scheduledAt: '17:55',
    league: { name: 'Champions League - Group Stage' }
  },
  {
    scheduled_at: '19:45',
    league: { name: 'Champions League - Group Stage' }
  },
  {
    scheduled_at: '19:30',
    league: { name: 'Primera B Metropolitana' },
  },
  {
    scheduled_at: '21:00',
    league: { name: 'Primera B Metropolitana' }
  }
]

假设我想插入这个数据图。根对象将进入 fixtures table,还有 league 财产是这种关系在 Fixtures 模型。

{  
  league: {
    relation: Model.BelongsToOneRelation,
    modelClass: `${__dirname}/League`,
    join: {
      from: 'fixtures.league_id',
      to: 'leagues.id'
    }
  }
}

所以,现在如果我用 insertGraph 插入所有这些数据。它插入到两个 fixtures 以及 leagues 表和关系如您所料。

{
  "scheduled_at": "17:55",
  "league": {
    "name": "Champions League - Group Stage",
    "created_at": "2018-10-03T13:02:03.995Z",
    "id": 1
  },
  "league_id": 1
  "created_at": "2018-10-03T13:02:04.042Z",
  "id": 1
}

但是,如果我插入完全相同的league对象,它只会创建另一个重复的league和fixture行,其中包含下一个递增的id(在本例中为2)。
它是否有可能找到具有该名称的联盟,然后使用该行/id作为 league_id ,就像这样:

{
  "scheduled_at": "17.55",
  "league_id": 1
  "created_at": "2018-10-03T13:02:04.042Z",
  "id": 2
}

抱歉,我解释得太离谱了。但我对术语不太感兴趣,所以我不知道我到底想做什么。我觉得这是一件非常简单的事情,但也许我的结构或方法是错误的。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题