如何在要通过bookshelf-cascade-delete删除的子模型中添加where子句?

时间:2019-01-13 11:45:02

标签: node.js bookshelf.js

我想在nodejs中使用bookhelf-cascade-delete删除父模型(学生,员工等)的子模型(出勤等)。它的工作正常,但我想添加一个where子句以删除子模型(将所有子模型的where子句分开)。我如何添加where子句?

我查看了其文档,但没有得出结论。 这是我的代码。

//the code where i am deleting employee

var obj = new Employee()

obj.destroy({cascadeDelete: true}).then((result)=>{
    res.status(200).json({message: "Employee has been deleted!"})
}).catch((error)=>{
    res.status(404).json(error)
 })


//Employee model
Employee = bookshelf.Model.extend({
tableName: 'employee',
salary: function(){
    return this.hasMany('Salary', 'emp_id');
},
dynamic_column_value: function(){
    return this.hasMany('CustomFieldValue', 'related_id').query({where: 
{related_to: "employees"}});
},
organization: function(){
    return this.belongsTo('Organization', 'organ_id');
},
attendence: function(){
    return this.hasMany('Attendance', 'emp_id').query({where: {type: 
'employee'}});
}
},{
dependents: ['dynamic_column_value','attendence']
});

现在在出勤表中,我有一列“类型”,代表学生和员工的出勤(出勤表包含学生和员工的出勤),当我级联删除员工模型时,它也会删除与外键匹配的学生出勤率。 我只想添加一个where子句,告诉它根据我的where条件过滤记录。 希望你明白我的意思! 提前致谢!

0 个答案:

没有答案