如何为某些模型的所有查询添加默认的 where 子句?
How can I add a default where clause to all queries for certain models?
有没有办法在 Objection 的某些模型中默认添加某个 where 子句?
上下文
我的一些异议模型使用“软删除”——而不是实际从数据库中删除它们,它们的 deleted_at
列标有时间戳。
默认情况下,我想确保 where deleted_at is null
默认包含在我的所有查询中,这样我就不必记得手动添加它。
有没有办法在 Objective 或 Knex 中执行此操作?
您可以覆盖模型中的 query
方法:
class SoftDeleteModel extends Model {
static query(...args) {
return super.query(...args).where('deleted_at', null)
}
}
super.query
指的是“原创”/parent的异议query
方法。
有没有办法在 Objection 的某些模型中默认添加某个 where 子句?
上下文
我的一些异议模型使用“软删除”——而不是实际从数据库中删除它们,它们的 deleted_at
列标有时间戳。
默认情况下,我想确保 where deleted_at is null
默认包含在我的所有查询中,这样我就不必记得手动添加它。
有没有办法在 Objective 或 Knex 中执行此操作?
您可以覆盖模型中的 query
方法:
class SoftDeleteModel extends Model {
static query(...args) {
return super.query(...args).where('deleted_at', null)
}
}
super.query
指的是“原创”/parent的异议query
方法。