Wakanda:在创建条目时修改字段

时间:2016-10-02 20:53:41

标签: javascript wakanda

我目前正在制作一个应用程序,用于打入和关闭员工。

我有三个表,一个用于雇员,一个用于PunchIn,一个用于PunchOut。

Diagram

我想要的是以下内容:当我创建PunchIn时,它会将is_in条目(表Employees)更改为true,当我创建PunchOut时,is_in是假的。

我如何处理关系才能做到这一点?

谢谢!

2 个答案:

答案 0 :(得分:0)

关系不是这里的最佳用例。您需要您的员工实体来创建Punchin实体。那么,为什么不直接更新您的员工实体而不是使用关系?

一个例子:

var emp = ds.Employees.find("ID = 1");
var myPunchin = new ds.Punchin({
    employee: emp
});
myPunchin.save();

myPunchin.employee.is_in = true;
myPunchin.employee.save();

如果没有关系,你可以用myPunchin.employee替换emp

答案 1 :(得分:0)

假设员工实体已经存在,那就是:

punchInEntity.Employee.is_in = true;

punchOutEntity.Employee.is_in = false;

请务必在之后保存两个实体:

punchOutEntity.save();
punchOutEntity.Employee.save();

但是,您可能需要考虑将is_in作为计算属性。在它的方法中,您可以搜索当前日期/时间之后的punchOutCollection实体。如果找到一个则返回false,否则返回true(只要至少有一个punchInCollection实体)。这样,您就不必担心更新is_in并且它始终是正确的。