当我尝试删除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)
下面的控制台日志的结果为空。
此代码有什么问题?
答案 0 :(得分:0)
.find()
仅适用于primaryKey
尝试:
.findBy()
-> documentation
await Wishlist.findBy('id_product', params.id_product)
!返回第一个匹配记录