我目前正在制作一个应用程序,用于打入和关闭员工。
我有三个表,一个用于雇员,一个用于PunchIn,一个用于PunchOut。
我想要的是以下内容:当我创建PunchIn时,它会将is_in
条目(表Employees)更改为true
,当我创建PunchOut时,is_in
是假的。
我如何处理关系才能做到这一点?
谢谢!
答案 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
并且它始终是正确的。