Fórum Como usar transações no mysql usando o Knex? #611574
26/06/2020
0
Olá. Usando a documentação do http://knexjs.org/#Transactions para usar transações, eu segui o seguinte exemplo que funciona perfeitamente:
A duvida é como que seria a transação caso cada objeto "book" tiver um array de objetos, por exemplo:
Desde já agradeço.
knex.transaction(function(trx) {
const books = [
{title: 'Canterbury Tales'},
{title: 'Moby Dick'},
{title: 'Hamlet'}
];
knex.insert({name: 'Old Books'}, 'id')
.into('catalogues')
.transacting(trx)
.then(function(ids) {
books.forEach((book) => book.catalogue_id = ids[0]);
return knex('books').insert(books).transacting(trx);
})
.then(trx.commit)
.catch(trx.rollback);
})
.then(function(inserts) {
console.log(inserts.length + ' new books saved.');
})
.catch(function(error) {
// If we get here, that means that neither the 'Old Books' catalogues insert,
// nor any of the books inserts will have taken place.
console.error(error);
});
A duvida é como que seria a transação caso cada objeto "book" tiver um array de objetos, por exemplo:
const books = [
{title: 'Canterbury Tales', teste: [{id:1},{id:2}]},
];
Desde já agradeço.
Antonio Junior
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)