Я пытаюсь расширить QueryBuilder
Knex.js.Я хочу изменить метод delete()
, чтобы удалить дочерние элементы моей модели Objection.js.Текущий код работает хорошо, но я хочу поддерживать транзакции в новом методе:
class CustomQueryBuilder extends QueryBuilder {
// Override delete method
delete() {
return super.select('*').first().runAfter(async (old, builder) => {
// Some extra logic here, being able to access old entry
return await old.query().nativeDelete() // original delete
})
}
nativeDelete() {
return super.delete()
}
}
Где находится транзакция текущего контекста?Это доступно?
Примечание: я не могу передать его как параметр в delete(trx)
функции, так как delete()
можно вызывать из других методов, не передавая его явно как параметр