我有两张桌子:“比赛”和“参赛作品”。在我的比赛表上,我有一个“已完成”列,告诉我比赛是否已经进行。在我的条目表上,我有一个用户 ID 列和一个比赛 ID 列。我正在尝试创建一个 JOIN,通过检查“条目”表中的所有行,然后检查每个特定行是否在“竞赛”表中完成了相应的竞赛 ID,我可以查看用户是否能够竞争。我的加入不是很强壮,到目前为止我有点迷茫。这是我到目前为止所拥有的,但它不能正常工作:
$this->db->select('*');
$this->db->from('entries');
$this->db->join('competitions', 'competitions.id = entries.competition_id');
$this->db->where('entries.user_id', $user_id);
$this->db->where('competitions.complete', '0'); //0 for incomplete, 1 for complete
$query = $this->db->get();
if ($query->num_rows() > 0) {
return FALSE; //user is currently in an active competition
}else {
return TRUE; //user is not in an active competition
}
我目前在 Codeigniter 工作,但在常规 PHP 中进行解释也可以。非常感谢你的帮忙!