我希望在所有模型中为Strongloop Loopback创建钩子,以实现软删除。
我希望将过滤器自动包含在已删除的位置:0,以便仅检索未删除的数据。我想要相同的验证逻辑,自动我的查询与deleted:0条件连接。我希望关联相同,因此只提取相关数据。
为了从DB端实现这一点,我创建了一个默认值为0的标志。如果我想获取已删除的记录。我只是附加了删除:1所以它覆盖了基本条件。昂给了我相关的信息。
我是PHP Dev所以要在框架中实现,我在基础模型中的beforeFilter中附加条件。请使用Strongloop Loopback帮助我。
答案 0 :(得分:2)
您可以在模型上设置默认范围。这将应用于该模型的所有查询。您可以使用该默认范围创建基本模型,并在您正在实施软删除的其他模型中继承该基本模型。
{
"name": "Base",
"properties": {
...
}
"scope": {
"order": "name",
"limit": 100
"where": {
"deleted": 0
}
}
}
然后,在您想要使用默认范围的模型中,您将基本模型添加为将使用软删除的模型的base:
属性。
{
"name": "Product",
"plural": "products",
"base": "Base",
...
}
您可以在此处的文档中阅读更多内容:Default Scope in StrongLoop