2016-06-11 95 views
1

我使用活动记录获取一些记录,并使用datediff功能获取两个日期之间的差异。这是活动记录DATEDIFF IN CODEIGNITER中的活动记录

$this->db->select('a.ID, a.PREFIX, 
        a.SERIAL_NUMBER, a.EOR_NUMBER, 
        a.IN_DATE, a.OUT_DATE, 
        DATEDIFF(OUT_DATE,IN_DATE) + 1 AS TOTAL_DATE, a.BALANCE, a.REMARKS, a.NO_EOR'); 
$this->db->from($this->table . ' as a'); 

但查询制作这样的:

SELECT `a`.`ID`, 
    `a`.`PREFIX`, `a`.`SERIAL_NUMBER`, 
    `a`.`EOR_NUMBER`, `a`.`IN_DATE`, 
    `a`.`OUT_DATE`, DATEDIFF(OUT_DATE, `IN_DATE) + 1` AS `TOTAL_DATE`, 
    `a`.`BALANCE`, `a`.`REMARKS`, 
    `a`.`NO_EOR` FROM 
`tb_fin_storage` as `a` 

查询在DATEDIFF(OUT_DATE,错了IN_DATE) + 1 AS TOTAL_DATE,我可以看到backthick制作通过AR是错误的任何解决方案是如此赞赏

+0

MYSQL tooo –

+0

为什么你会在'IN_DATE)+ 1'附近找不到句法正确的回拨 –

+0

试着用'DATEDIFF(** a ** .OUT_DATE,** a **。IN_DATE)+ 1 AS TOTAL_DATE'? – Zimmi

回答

1

您CANDO这样的:

$this->db->select('a.ID, a.PREFIX, 
       a.SERIAL_NUMBER, a.EOR_NUMBER, 
       a.IN_DATE, a.OUT_DATE, 
       DATEDIFF(OUT_DATE,IN_DATE) + 1 AS TOTAL_DATE, a.BALANCE, a.REMARKS, a.NO_EOR', false); 

(添加假底,它会关闭逸出)

文档函数:$ this-> DB->选择()接受一个可选的第二个参数。如果将其设置为FALSE,则CodeIgniter不会尝试使用反引号来保护字段或表名。如果您需要复合选择语句,这很有用。