Kohana可能嗎v3查詢生成器使用IS NOT NULL運算符嗎?Kohana v3查詢生成器的「WHERE列IS NOT NULL」
的地方($柱,$運算,$ value)方法要求所有三個參數,即使我指定
->where('col', 'IS NOT NULL', '')
它建立和無效的查詢如。
SELECT * FROM table WHERE col IS NOT NULL '';
Kohana可能嗎v3查詢生成器使用IS NOT NULL運算符嗎?Kohana v3查詢生成器的「WHERE列IS NOT NULL」
的地方($柱,$運算,$ value)方法要求所有三個參數,即使我指定
->where('col', 'IS NOT NULL', '')
它建立和無效的查詢如。
SELECT * FROM table WHERE col IS NOT NULL '';
算不算轉義:
->where('col', 'IS NOT', NULL)
無需使用DB :: expr的,Kohana中已經支持你想要什麼。
不知道(現在是凌晨3點),但->where('col', '', DB::expr('IS NOT NULL'))
可能有效。
GENIUS。你是先生,是聖人。 – JeremyFelix 2010-09-26 01:19:50
我認爲最好把'IS NOT'作爲第二個參數,其值只是NULL。就像Gerry回答。使用DB :: expr很不錯,但增加了不必要的額外開銷(在這種情況下) – SpadXIII 2010-09-27 08:45:09
是的最佳解決方案是 - > where('col','IS NOT',NULL) – JeremyFelix 2010-11-10 19:28:47
這適用於ORM模塊,輸入少一些。
->where('col', '!=', NULL);
這是否真的有效?生成的查詢是什麼? – 2011-08-13 19:08:44
這應該工作:
->where('col', '=', NULL);
你錯過了這次:) – Kemo 2011-01-24 10:05:23
這是檢查的價值爲空,OP想不是空。 – 2011-02-06 17:40:52
WHERE子句有3個參數,第1個和第3個總是試圖轉換爲反引號格式(即`table`.`field`)。只要你提供的DB :: Expr的至少在第三個參數,你可以離開沒有在第一和第二ARGS脫身,下面應該工作以及:
->where('', '', DB::Expr('!isNull(col)'));
這證實上下工夫Kohana 3.2及以上版本。
v3就好了。你太親近了!所有你需要做的,是將NULL移動到值參數:' - > where('col','IS NOT',NULL)' – SpadXIII 2010-09-27 08:46:28
現在v3有更好的文檔,我有機會習慣它 - 我很享受它。 – JeremyFelix 2011-04-03 10:25:06