用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1967|回复: 10
收起左侧

[版本 3.x] $this->db->where("(end_time - begin_time) >= 30")

[复制链接]
发表于 2015-4-14 16:45:58 | 显示全部楼层 |阅读模式
升级到3.0,这句话出现了问题,求解该怎么修改?

发表于 2015-4-14 16:50:37 | 显示全部楼层
CI 不支援的請改用  $this->db->query() 這種寫法
你想用 AR 模式,又想要語法不嚴謹
魚與熊掌不可兼得阿
 楼主| 发表于 2015-4-14 16:57:53 | 显示全部楼层
Closer 发表于 2015-4-14 16:50
CI 不支援的請改用  $this->db->query() 這種寫法
你想用 AR 模式,又想要語法不嚴謹
魚與熊掌不可兼得阿 ...

那我把我的所有语句改为:原生的语句就好了?
发表于 2015-4-14 17:00:57 | 显示全部楼层
LUISHOU 发表于 2015-4-14 16:57
那我把我的所有语句改为:原生的语句就好了?

以前你 SQL 語法可行的,在 CI 就不行的
請用 $this->db->query()

但一般我是避免用他,因為我不認為自己能想到的過濾會比 AR 模式齊
就你這個需求,何不增加一個欄位,把計算好了填進去
然後再從這數值取你要的資料阿

 
 楼主| 发表于 2015-4-14 17:02:11 | 显示全部楼层
Closer 发表于 2015-4-14 16:50
CI 不支援的請改用  $this->db->query() 這種寫法
你想用 AR 模式,又想要語法不嚴謹
魚與熊掌不可兼得阿 ...


发表于 2015-4-14 17:04:48 | 显示全部楼层

哇靠...兄弟別這樣寫啊
Model 不是這樣搞的
 楼主| 发表于 2015-4-14 17:08:12 | 显示全部楼层
Closer 发表于 2015-4-14 17:04
哇靠...兄弟別這樣寫啊
Model 不是這樣搞的

额。。是我这样写法错误?还是model不是这样写的?
 楼主| 发表于 2015-4-14 17:13:37 | 显示全部楼层
Closer 发表于 2015-4-14 17:04
哇靠...兄弟別這樣寫啊
Model 不是這樣搞的

2.1.3版本没问题,3.0.1就会报sql错误
发表于 2015-4-14 17:16:11 | 显示全部楼层
本帖最后由 Closer 于 2015-4-14 17:21 编辑
LUISHOU 发表于 2015-4-14 17:08
额。。是我这样写法错误?还是model不是这样写的?

Model 一個方法內的寫法
基本上做的事情越簡單越好

例如分頁模組就會有 :
1. 頁數
2. 排序欄位
3. 排序方式
4. 顯示幾筆
5. 從第幾筆開始取

至於上列那五點的數據是否有?
是否已過濾不是自己要的數據?
這都是在 Controller 做完的

用 Model 要有個觀念
他是用來將「資料」轉換為「資訊」的工具
而不是用來過濾有害資料的防火牆

 
发表于 2015-4-14 17:17:48 | 显示全部楼层
LUISHOU 发表于 2015-4-14 17:13
2.1.3版本没问题,3.0.1就会报sql错误

不要拿舊版本去比較,新版本就是修正
已發現的漏洞、未來可能會成為的漏洞
所以正式(穩定)版本出了,一般都建議趕快換的

本版积分规则