我正在尝试为我创建的招聘网站编写一个电子邮件通知系统,目前正在考虑将一定数量的工作组合在一起,然后再向候选人发送电子邮件
我有一个我称之为candidate_to_job 的表,其中包含candidate_id、job_id 和“通过电子邮件发送”的布尔值
我正在努力的是在发布新工作并发送电子邮件时更新该表。到目前为止,当发布新工作时,我运行以下命令:
SELECT c2j.candidate_id, c2j.job_id, j.title
FROM " . DB_PREFIX . "candidate_to_job c2j
LEFT JOIN " . DB_PREFIX . "job j
ON (j.job_id = c2j.job_id)
WHERE c2j.emailed = 0
然后通过 PHP 我将它们组合在一起,所以我有一个看起来像这样的数组:
$candidates = array(
1 => array(1,2,3),
2 => array(1,3),
3 => array(4,5,6)
);
数组键是候选 ID,值是作业 ID 数组
我想要使用该数组执行的操作 - 在发送电子邮件后 - 将通过电子邮件发送给 true 的 Candidate_to_job 表设置更新为 true,例如,对于 job_ids 1、2 和 3,candidate_id 1 将通过电子邮件设置为 true
有没有办法在一个查询中做到这一点?我看过 WHEN CASE 语句,但我认为这不适用于这种情况?我真的不想为每个候选人运行多个查询,因为可能有数千个!