LUISHOU 发表于 2015-4-14 16:45:58

$this->db->where("(end_time - begin_time) >= 30")

升级到3.0,这句话出现了问题,求解该怎么修改?

Closer 发表于 2015-4-14 16:50:37

CI 不支援的請改用$this->db->query() 這種寫法
你想用 AR 模式,又想要語法不嚴謹
魚與熊掌不可兼得阿

LUISHOU 发表于 2015-4-14 16:57:53

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

那我把我的所有语句改为:原生的语句就好了?

Closer 发表于 2015-4-14 17:00:57

LUISHOU 发表于 2015-4-14 16:57
那我把我的所有语句改为:原生的语句就好了?

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

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

 

LUISHOU 发表于 2015-4-14 17:02:11

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

http://codeigniter.org.cn/forums/data/attachment/album/201504/14/170132qqlmtb3l30gtfeg4.pnghttp://codeigniter.org.cn/forums/data/attachment/album/201504/14/170132qqlmtb3l30gtfeg4.png

Closer 发表于 2015-4-14 17:04:48

LUISHOU 发表于 2015-4-14 17:02


哇靠...兄弟別這樣寫啊
Model 不是這樣搞的

LUISHOU 发表于 2015-4-14 17:08:12

Closer 发表于 2015-4-14 17:04
哇靠...兄弟別這樣寫啊
Model 不是這樣搞的

额。。是我这样写法错误?还是model不是这样写的?

LUISHOU 发表于 2015-4-14 17:13:37

Closer 发表于 2015-4-14 17:04
哇靠...兄弟別這樣寫啊
Model 不是這樣搞的

2.1.3版本没问题,3.0.1就会报sql错误

Closer 发表于 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 要有個觀念
他是用來將「資料」轉換為「資訊」的工具
而不是用來過濾有害資料的防火牆

 

Closer 发表于 2015-4-14 17:17:48

LUISHOU 发表于 2015-4-14 17:13
2.1.3版本没问题,3.0.1就会报sql错误

不要拿舊版本去比較,新版本就是修正
已發現的漏洞、未來可能會成為的漏洞
所以正式(穩定)版本出了,一般都建議趕快換的
页: [1] 2
查看完整版本: $this->db->where("(end_time - begin_time) >= 30")