새 데이터베이스를 만들지 않고 데이터베이스의 데이터를 업데이트하는 방법은 무엇입니까?
async update ({ params, request, response }) {
const product = await Product.find(params.id)
product.name = request.input('name')
product.descr = request.input('descr')
product.qtd = request.input('qtd')
product.sub_descr = request.input('sub_descr')
product.price = request.input('price')
product.save()
return response.redirect('/')
}
이 코드는 새 인스턴스를 생성하고 있으며 product.update()
메서드가 오류를 반환합니다.
Adonisjs 명쾌한 자동 지원을 삽입 및 업데이트 - 그것은 지능적으로 업데이트 또는 삽입 입력에 따라 기록을 의미한다.
문서에 따르면 :
저장 방법은 인스턴스를 데이터베이스에 유지하여 새 행을 만들지 기존 행을 업데이트 할지를 지능적으로 결정합니다.
그러나 업데이트 / 대량 업데이트를 수행하려면 여기에 언급 된대로 항상 쿼리를 작성할 수 있습니다 .
하지만 당신이 직면 할 수있는 문제는
대량 업데이트는 모델 후크를 실행하지 않습니다.
삽입 / 업데이트의 예 :
const User = use('App/Models/User')
const user = new User()
user.username = 'virk'
user.email = '[email protected]'
// Insert
await user.save()
user.age = 22
// Update
await user.save()
대량 업데이트의 예 :
const User = use('App/Models/User')
await User
.query()
.where('username', 'virk')
.update({ role: 'admin' })
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다