gpt4 book ai didi

php - 使用 CI 在插入之前实现对数据进行计数

转载 作者:行者123 更新时间:2023-11-29 18:00:25 25 4
gpt4 key购买 nike

我正在制作一个 OffDayWork 表单,我希望每个员工最多只能请求 12 次休假。我用this作为我的引用,但仍然没有成功。

这是我的结构表:

- tabel_cuti

holID | holEmpId | holName |
---------------------------|
1 | 1 | Ied |
---------------------------|
2 | 3 | exp1 |
---------------------------|
3 | 4 | exp2 |
---------------------------|
4 | 1 | Married |
---------------------------|

我在我的模型中尝试过这个

  • 员工模型

    public function HolidayRegister($data)
    {
    $this->db->insert('tbl_cuti',$data);
    return true;
    }

    public function HitungCuti($data)
    {
    $this->db->select('count(table_cuti.holID) as countcuti');
    $this->db->from('tabel_cuti');
    $this->db->join('tabel_pegawai','tabel_cuti.holEmpId = tabel_pegawai.empID');
    $this->db->group_by('table_cuti.holEmpId');
    $totalhol = $this->db->get();
    }

还有我的 Controller (员工)

public function HolidayRegister()
{
if(!empty($_POST))
{
$data = array('holEmpId' => $this->input->post('employee_id'),
'holName' => $this->input->post('holiday_name'),
'holDate' => $this->input->post('holiday_date'),
'holDescription' => $this->input->post('description'),
'created_date' => date('Y-m-d H:i:s'),
);
$result = $this->EmployeeModel->HitungCuti($data);

if($result -> num_rows() < 12)
{
$this->EmployeeModel->HolidayRegister($data);
}
else
{
$data = array('holEmpId' => $this->input->post('employee_id'),
'holName' => $this->input->post('holiday_name'),
'holDate' => $this->input->post('holiday_date'),
'holDescription' => $this->input->post('description'),
'created_date' => date('Y-m-d H:i:s'),
);
$this->session->set_flashdata('SUCCESSMSG','Tidak ada kesempatan cuti');
$data['getEmployee'] = $this->EmployeeModel->getEmployee();
$this->load->view('holiday_register',$data);
}


}
else
{
$this->session->set_flashdata('SUCCESSMSG', "Holiday Register Successfully!!");
redirect('view-holiday');
}
}

这是我第一次尝试 CI,所以我需要你的帮助。

最佳答案

HitungCuti() 方法中,您正在计算所有员工假期数据。您需要限制仅对提交的员工数据进行选择:

public function HitungCuti($data)
{
$this->db->select('holID');
$totalhol = $this->db->get_where('tabel_cuti', array('holEmpId' => $data['holEmpId'])); // only search for the specified employee ID

return $totalhol;
}

关于php - 使用 CI 在插入之前实现对数据进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48414158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com