11

我有一个数据库,我只想提取日期在指定范围内的某些行。我不确定如何在活动记录中正确执行此操作。现在看起来我在活动记录查询中运行标准 mysql 查询。我希望这能让您了解我在寻找什么。

我还希望能够在今天之前获得任何行,包括今天和未来 3 天。

$query = $this->db->query("SELECT * FROM 'topics_list' . 'topic date' WHERE DATE(order_datetime) BETWEEN '2012-10-01' AND '2012-10-3'");
4

5 回答 5

20

就是这样。但根据您在数据库中的日期格式,您必须更改2012-10-012012-10-03

$this->db->select('*');
$this->db->from('topics_list');
$this->db->where('order_datetime <','2012-10-03');
$this->db->where('order_datetime >','2012-10-01');

$result = $this->db->get();
于 2012-08-24T02:01:51.523 回答
3

您可以指定您$where并使用活动记录

$where = "DATE(order_datetime) BETWEEN '2012-10-01' AND '2012-10-3'";
$this->db->where($where)->get('table_name');
于 2012-08-24T01:51:45.640 回答
3
`$where = array(
  "order_datetime <" => "2012-10-03",
  "order_datetime >" => "2012-10-01"
);
$this->db->select("*")->get_where("topics_list" , $where)`
于 2017-06-10T09:18:36.080 回答
2

您可以指定 $where 并使用活动记录

$this->db->group_start()
          ->or_where("product_order.generate_date >= ","$start_date")
          ->or_where("product_order.generate_date <","$end_date + INTERVAL 1 DAY")
          ->group_end();
于 2019-03-20T18:57:23.677 回答
1

要通过尊重 CI 的查询构建器来使用“Between”:

$this->db->where("order_datetime BETWEEN '2018-10-01' AND '2018-10-3'","", FALSE);
于 2018-03-30T14:47:44.740 回答