计数并插入Codeigniter

时间:2018-09-18 05:09:20

标签: php codeigniter

我有两个相互连接的表。

这是出勤表的结构:

|  id_attendance   |  employee_id  |  employee_name  |   date   |  time_in  |  time_out  |
|      0001        |     LOL       |     LOLA        |01.03.2014|  08.00    |  20.00     |

与此同时,这是配额表的结构(我想插入的示例;):

|  id_allowance   |  employee_id  |  employee_name  |   period  |  days_attended   |
|     0001        |     LOL       |     LOLA        |  03.2014  |     1            |

因此,应根据期间和employee_id的条件,通过计算参加多少天来填写days_attended。因此,为了知道该程序应计入哪个雇员和哪个时期并从中获取值,我制作了一个表格,要求用户键入employee_id并选择时间段(基本上是输入employee_id和period,以及计算他们通过表单输入的条件所花费的days_attended并将值直接插入到津贴表中)我在模型中尝试过这一点:

public function count_days_attended($formatted_date)
    {
         $this->db->select('attendance.date');
         $this->db->from('attendance');
         $this->db->where("DATE_FORMAT(date,'%Y-%m')","DATE_FORMAT($formatted_date,'%Y-%m')");
         $this->db->group_by('employee_id');
         $query = $this->db->get();
         return print_r($query->result());
    }

这是我的控制器:

public function submit(){
    $dateTime = new DateTime($this->input->post('period'));
    $formatted_date = date_format($dateTime, 'Y-m-d' );
    $days_attended= $this->absengaji_m->count_days_attended( $formatted_date ); 

    $data = array(
        'employee_id'=>$this->input->post('employee_id'),
        'employee_name'=>$this->input->post('employee_name'),
        'period'=> $formatted_date,
    );
    $this->absengaji_m->insert($data);
    redirect('absengaji');
   }

问题是,无论输入什么,它始终显示1。同时,应根据employee_id和期间来计算出参加的天数

这是表格形式: this is the form

0 个答案:

没有答案