问题描述
所以我要使用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,});
这很好用,当我执行以下操作时,邮递员被卡在“发送请求”上:
newRestaurant.menu = await Menu.query().insert({
restaurantId: newRestaurant.id,});
对此有任何帮助,深表感谢!
解决方法
您可以使用$relatedQuery
方法为刚创建的餐厅实例插入新的menu
条目:
await newRestaurant
.$relatedQuery('menu')
.insert({ food: 'someFood' });