#knex.js #objection.js
Вопрос:
Есть ли способ добавить определенное предложение where по умолчанию к определенным моделям в возражении?
Контекст
Некоторые из моих моделей возражений используют «мягкое удаление» — вместо того, чтобы фактически удалять их из базы данных, их deleted_at
столбец помечен меткой времени.
По умолчанию я хотел бы убедиться, что where deleted_at is null
это включено по умолчанию во все мои запросы, чтобы мне не пришлось добавлять это вручную.
Есть ли способ сделать это в возражении или в Knex?
Ответ №1:
Вы можете перезаписать query
метод в своей модели:
class SoftDeleteModel extends Model {
static query(...args) {
return super.query(...args).where('deleted_at', null)
}
}
super.query
относится к «оригинальному» / родительскому query
методу возражения.
Комментарии:
1. Это именно то, что я искал. Спасибо!