post 메소드 api기능을 개발하던 중이었다.
다른 테이블 id를 pk로 사용하는 테이블이 있었다.
즉, 이 id는 auto increment가 적용되지 않는 primary key이다.
DB에 저장할 데이터를 넣고 save()를 하는 순간 이 id 가 0으로 바뀌었다. (황당)
webtoonReview.webtoonId = webtoon.id
webtoonReview.starScore = request.input('starScore')
console.log(webtoonReview.webtoonId) // 여기서는 webtoon.id가 잘 찍힘
await postReview.save() // 데이터 저장 !
console.log(webtoonReview.webtoonId) // 0으로 찍힘
https://github.com/adonisjs/lucid/issues/89
https://github.com/adonisjs/core/discussions/3251
https://docs.adonisjs.com/reference/orm/base-model#static-selfassignprimarykey
공식문서에 명시되어있다.
아래 코드를 모델에 명시하면 해결된다.
public static selfAssignPrimaryKey = true