Search code examples
mysqlcodeigniterindexingchain

codeigniter chain query keyword issue


why i got error? please write the right syntax

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN, log_out_time as OUT, hour_count as Hours, status as Status FROM (`hr_e' at line 1

SELECT `log_date` as DATE, `log_in_time` as IN, `log_out_time` as OUT, `hour_count` as Hours, `status` as Status
FROM (`hr_employee_attendence`)
WHERE `employee_id` =  '2001170036'
AND `log_date` >= '2017-11-01'
AND `log_date` <= '2017-11-30'

        $query = $this->db->select("log_date as DATE, log_in_time as IN, log_out_time as OUT, hour_count as Hours, status as Status")
                ->where($where)
                ->get("hr_employee_attendence");

Solution

  • You can use keyword as string by doing below codeigniter chain query.

    $chain_query = $this->db->select("log_date as 'DATE', log_in_time as 'IN', log_out_time as 'OUT', hour_count as 'Hours', status as 'Status', is_late as is_late")
                                ->get_where("hr_employee_attendence", [
                                    "employee_id" => $employee_id,
                                    "date(log_date) >= date('".$month_day_start."')" => NULL,
                                    "date(log_date) <= date('".$month_day_end."')" => NULL,
                                    "is_approved" => 1
                                ]);