gpt4 book ai didi

sequelize.js - Sequelize - 当您拥有值时如何从相关表中获取 id

转载 作者:行者123 更新时间:2023-12-03 22:32:58 24 4
gpt4 key购买 nike

我的任务是使用 sequelize 将数据输入到数据库中(我对 sequelize 不太熟悉,但我已经阅读了很多关于如何使用它的资料)。
交给我的数据是这样的

//product - single, or an array
{title: 'some title', status: 'somestatus', type: 'sometype', ...}

与已经设置的 producttypeproductstatus 存在一对多的关系。
要使用原始 sql 将产品输入到产品表中,我将使用子查询来获取 "somestatus""sometype" 的 id 并在产品的 statusIdtypeId 列中输入 id 号'
当我只有值时,检索相关表行的 id 的最佳方法是什么?
输入数据我有以下内容
Product.create({
title: 'some title',
status: 'somestatus'// Need to get id and replace it with
type: 'sometype'// Need to get id and replace it with
})
我在想什么……但在其他帮助网站上找不到这样的东西
Product.create({
title: 'some title',
status: await ProductStatus.findAll({where: {status: 'somestatus'}) // OR
type: await sequelize.literal(`SELECT id FROM producttypes WHERE type = 'sometype'` )
})

最佳答案

您需要使用 findOne 获取状态和类型以获取某些记录:

// you need to take into account cases when a status or a type is not found
// caution: passed values to find a status and a type should be unique
const status = await ProductStatus.findOne({where: {status: 'somestatus'})
const type = await ProductType.findOne({where: {type: 'sometype'})

const newProduct = await Product.create({
title: 'some title',
status: status.id,
type: type.id
})

关于sequelize.js - Sequelize - 当您拥有值时如何从相关表中获取 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65096289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com