在adonisjs中使用ForeignKey删除数据时出错

时间:2019-09-30 06:28:07

标签: node.js api asynchronous delete-row adonis.js

当我尝试删除adonisjs中的数据时遇到问题,当我输入主键作为参数成功删除它时,但是当我尝试输入另一个参数时,它不起作用。

这是我访问端点的途径:

Route.delete('customer_wishlist/:id_product', 'WishlistController.delete')

id_product不是主键,而是外键。这在我的控制器中处理删除:

async delete ({params, response}) {
    console.log(params)
    const wishlist = await Wishlist.find(params.id_product)
    console.log(wishlist)

    if (!wishlist) {
        return response.status(404).json({data: 'Resource not found'})
    }

   await wishlist.delete()
   return response.status(200).json({status:true, data: wishlist})
}

const wishlist = await Wishlist.find(params.id_product)上方console.log的结果是json id,该参数与参数匹配。但是const wishlist = await Wishlist.find(params.id_product)下面的控制台日志的结果为空。

此代码有什么问题?

1 个答案:

答案 0 :(得分:0)

.find()仅适用于primaryKey

尝试:

.findBy()-> documentation

await Wishlist.findBy('id_product', params.id_product)

!返回第一个匹配记录