在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第一个匹配记录
当我尝试在 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第一个匹配记录