我正在构建一个PHP应用程序,用于检查数据库中用户的生日。 这些用户在他们的生日那天被授予各种礼物,他们可以从中挑选一个。我跟踪他们选择了哪些,所以我可以看到谁已经获得了礼物,还有谁还在等待礼物。
此应用程序的目标群体是公司,他们为每个员工支付费用,该费用属于此应用程序的一部分。该应用程序旨在使公司更容易记住员工的生日并表明他们的关心。
随着公司的成长/缩减,他们正在招聘,解雇员工,他们每个月都会更新员工名单,以便系统能够排除那些不再在那里工作并增加新员工的人员。
现在我的问题是:我如何以最聪明的方式做到这一点?
如果我要删除以前与某家公司相关的每位员工,在给出他们当前的员工名单时,并从头开始插入新列表,我会放弃员工与我/我声称的礼物之间的联系。数据库。
另一方面,为了确保我在数据库中保留关联,如果我只是添加新员工并删除那些不再在名单上的人,我将如何以最聪明的方式进行此操作?
我在员工身上获得的字段有id
,firstname
,surname
,email
,birthday
和company_id
。这些都不是识别用户是否已经在数据库中的好方法(可以说电子邮件可能有效,但如果由于某种原因他们改变了它,它将无法工作)
欢迎任何建议。
答案 0 :(得分:3)
最简单的答案是将employee_id
添加到您的数据库中。每家公司都有内部ID,用于在系统内部识别员工。这对于许多目的都是必要的,包括工资单,福利,出勤等。因此,您只需将此ID
字段添加到employee
表中,并确保您收到的名单包含所有这些ID员工。
此外,您可以只显示一个表明就业是否仍然有效的标志,而不是删除不再为公司工作的员工的条目。然后在查询中添加相应的where
子句。
答案 1 :(得分:2)
您可以向表员工添加一个简单字段:
employeeID | name | isStillHired
当公司解雇员工时,您将字段isStillHired
设置为false,这样就不会丢失对他的引用