创建另一个条目时,如何在表中插入新条目?

问题描述

所以我要使用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' });

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...