I'm trying to make a insert using Lucid Models.
So, first i define my model in a const
:
const ClasseLivroHistorico = use('App/Models/ClassBookHistoric')
This is my function that needs to create a new record:
async cadastraPrimeiroHistorico(classeId, bookUnitId, bookId){
const primeiroClasseLivroHistorico = new ClasseLivroHistorico()
primeiroClasseLivroHistorico.class_id = classeId;
primeiroClasseLivroHistorico.book_unit_id = bookUnitId
primeiroClasseLivroHistorico.book_id = bookId
primeiroClasseLivroHistorico.status = false
primeiroClasseLivroHistorico.created_at = new Date()
primeiroClasseLivroHistorico.book_unit_sequence = 1
await ClasseLivroHistorico.create(primeiroClasseLivroHistorico)
}
But i'm getting:
insert into "xxx" ("$attributes", "$frozen", "$hidden", "$originalAttributes", "$parent", "$persisted", "$relations", "$sideLoaded", "$visible", "setters", "created_at", "updated_at") values ($1, $2, DEFAULT, $3, $4, $5, $6, $7, DEFAULT, $8, $9, $10) returning "id" - column "$attributes" of relation "xxx" does not exist"
I'm not using .save()
because this return true/false and i need to return the created record
When you use new instance of ClasseLivroHistorico
object you need to use save()
method. Like:
const primeiroClasseLivroHistorico = new ClasseLivroHistorico()
...
await primeiroClasseLivroHistorico.save()
return primeiroClasseLivroHistorico
If you want to use create()
method you have to give it the information in an array. Like:
let data = { class_id: classeId, ... }
const primeiroClasseLivroHistorico = await ClasseLivroHistorico.create(data)
Don't hesitate if you need more information