Active Records автоматически экранирует ваш запрос, поэтому CURDATE () будет передана в виде строки вместо использования функции mysql.Вам лучше выполнить запрос вручную, например,
$query = $this->db->query("SELECT id,name FROM store WHERE dr = '1' AND end >= CURDATE()");
или , если вы все еще хотите использовать AR, вы можете передать FALSE в качестве третьего параметра $this->db->where
, чтобы избежать автоматического выхода из CI:
$this->db->select('id,name')
->where('dr','1')
->where('end >=', 'CURDATE()', FALSE);
$query = $this->db->get('store');