我正在尝试获取日期大于或等于今天的所有数据.这是我做的:
$this->db->select('id, name');
$this->db->where('dr', '1');
$this->db->where('end >=', 'CURDATE()');
$query = $this->db->get('store');
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我错了什么?
Dam*_*rsy 12
Active Records会自动转义您的查询,因此CURDATE()将作为字符串传递,而不是使用mysql函数.您最好手动运行查询,例如
$query = $this->db->query("SELECT id,name FROM store WHERE dr = '1' AND end >= CURDATE()");
Run Code Online (Sandbox Code Playgroud)
或者,如果您仍想使用AR,则可以传递FALSE作为第三个参数,$this->db->where以避免CI自动转义:
$this->db->select('id,name')
->where('dr','1')
->where('end >=', 'CURDATE()', FALSE);
$query = $this->db->get('store');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2608 次 |
| 最近记录: |