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

これが道です。ただし、データベースにあるDATE形式に従って、変更する必要があり2012-10-01ます2012-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 に答える
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 に答える