单击批准休假时,我想要以下内容:获取天数(每个员工(,并根据发布的休假id应用用户id使用应用用户id,我想从另一个表中获得(每个员工的(假期余额,减去批准的天数和假期余额,然后更新假期余额
我有以下代码,但我得到了一个错误"where子句"中的未知列"Array">
从emp_leave_balance
中选择balance
,其中emp_id
=Array
控制器:
public function action(){
if ($this->input->post('frm-action') =='approved'){
foreach ($this->input->post('leave_id') as $leaveid) {
if ($this->leave_model->approve($leaveid)){
$emp_id =$this->leave_model->get($leaveid);
$no_of_days =$this->leave_model->get_no($leaveid);
$balance =$this->leave_model->get_bal($emp_id);
$updated_balance = $no_of_days - $balance;
$data = [
'balance' =>$updated_balance
] ;
$this->leave_model->update_leave($data,$emp_id);
}
}
$this->session->set_flashdata('leave_approved','Leave is approved');
redirect('leave/leave_list');
exit();
}
Model:
public function get($leaveid){
$this->db->select('apply_user_id');
$this->db->where('leave_id',$leaveid);
$query=$this->db->get('leave');
return $query->result();
}
public function get_no($leaveid){
$this->db->select('num_of_days');
$this->db->where('leave_id',$leaveid);
$query=$this->db->get('leave');
return $query->result();
}
public function get_bal($emp_id){
$this->db->select('balance');
$this->db->where('emp_id',$emp_id);
$query=$this->db->get('emp_leave_balance');
return $query->result();
}
public function update_leave($data,$emp_id){
$this->db->where('emp_id',$emp_id);
$this->db->update('emp_leave_balance',$data);
return true;
}
查看
<td><?php echo form_checkbox( 'leave_id[]',$Dleave->leave_id); ?></td>
请帮我解决
我想在批准时更新每个员工的休假余额
您正在传递emp_id作为sql中的数组。但sql希望将其作为int值。
一步一步地在sql中传递正确的值。