我正在建立请假批准系统,每年有两种类型的请假。
public function approve($id, $leave_type, $leave_start, $leave_end)
{
$this->db->set('status', 1);
$this->db->where('id', $id);
$this->db->update('leave');
$this->db->join('users', 'users.id = leave.user_id');
if($leave_type == "Annual")
{
$this->db->set('casual_left', '`casual_left`+10', FALSE);
$this->db->where('id', $id);
$this->db->update('users');
}
else{
$this->db->set('annual_left', '`annual_left`+3', FALSE);
$this->db->where('id', $id);
$this->db->update('users');
}
return $this->db->affected_rows() > 0;
}
我不确定条件的顺序。
答案 0 :(得分:1)
请尝试以下操作:
$this->db->set('status', 1);
if($leave_type == "Annual")
{
$this->db->set('casual_left', '`casual_left`+10', FALSE);
}
else{
$this->db->set('annual_left', '`annual_left`+3', FALSE);
}
$this->db->where('leave.id',$id);
$this->db->where('users.id',$id);
$this->db->where('leave.user_id = users.id');
$this->db->update('leave,users');
答案 1 :(得分:0)
请使用以下代码:
$this->db->set('status', 1);
if($leave_type == "Annual")
{
$this->db->set('casual_left', '`casual_left`+10', FALSE);
}
else{
$this->db->set('annual_left', '`annual_left`+3', FALSE);
}
$this->db->where('leave.id',$id);
$this->db->where('users.id',$id);
$this->db->update('leave JOIN users ON leave.user_id= users.id');