CodeIgniter的查询生成器的bug

问题描述 投票:0回答:2

我有笨查询生成器的不规则行为问题和运行的想法是哪里的问题。该代码:

    $this->db->order_by('MT_SHORT_NAME', 'ASC');
    $this->db->order_by('ORD_CREATION_DATETIME', 'DESC');
    $query = $this->db->get_where($this->OrderViewTable, array('ORD_WORK_DATE >=' => $from, 'ORD_WORK_DATE <=' => $to));
    return $query->result_array();

产生这两个疑问:

SELECT * FROM "UTC_ORDER_VIEW" WHERE "ORD_WORK_DATE" >= '2019-02-07' AND "ORD_WORK_DATE" <= '2019-02-07' ORDER BY "MT_SHORT_NAME" ASC, "ORD_CREATION_DATETIME" DESC
SELECT * FROM "UTC_ORDER_VIEW" WHERE "ORD_WORK_DATE" >= "=" '2019-02-07' AND "ORD_WORK_DATE" <= "=" '2019-02-07' ORDER BY "MT_SHORT_NAME" ASC, "ORD_CREATION_DATETIME" DESC

如可以看到的有在第二查询,这恰好irregulary额外的“=”。请帮忙

php database oracle codeigniter orm
2个回答
0
投票

尝试这样的

此外,使用正确的日期格式,将在DB匹配您的输入和值

$this->db->order_by('MT_SHORT_NAME', 'ASC');
$this->db->order_by('ORD_CREATION_DATETIME', 'DESC');
$this->db->where('ORD_WORK_DATE >=', date('Y-m-d', strtotime($first_date));
$this->db->where('ORD_WORK_DATE <=', date('Y-m-d', strtotime($second_date));
return $this->db->get($this->OrderViewTable)->result_array();

-1
投票
$this->db->where('ORD_WORK_DATE >=', $first_date);
$this->db->where('ORD_WORK_DATE <=', $second_date);
return $this->db->get($this->OrderViewTable)->result_array();
© www.soinside.com 2019 - 2024. All rights reserved.