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

Error when delete data using foreignKey in adonisjs

当我尝试在 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的结果是jsonid,这个和参数匹配。但是 const wishlist = await Wishlist.find(params.id_product) 以下的控制台日志结果为空。

这段代码有什么问题?

.find() 仅适用于 primaryKey

试一试:

.findBy() -> documentation

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

! Returns第一个匹配记录