所以我要使用insertGraphAndFetch将req.body值插入到我的Restaurant表中。在我的餐厅模型中,我有一个具有HasOneRelation的menu
对象。菜单表中有一个restaurantId,所以我想做的就是用刚创建的restaurantId创建一个菜单项。
export const createRestaurant: ExpressHandlerFn = async (req, res, next) => {
try {
const {
name,
description,
address,
cityId,
priceTier,
phoneNumber,
schedule,
tagIds,
} = req.body;
const { thumbnailImage, galleryImages } = req.files as MulterFields;
const userId = req.session!.id;
const createRestaurantTransaction = await Restaurant.transaction(async (trx) => {
let newRestaurant = await Restaurant.query(trx).insertGraphAndFetch({
name,
description,
priceTier,
address,
cityId,
phoneNumber,
schedule,
});
这很好用,当我执行以下操作时,邮递员被卡在“发送请求”上:
newRestaurant.menu = await Menu.query().insert({
restaurantId: newRestaurant.id,
});
对此有任何帮助,深表感谢!
答案 0 :(得分:0)
您可以使用$relatedQuery
方法为刚创建的餐厅实例插入新的menu
条目:
await newRestaurant
.$relatedQuery('menu')
.insert({ food: 'someFood' });