2011-10-09 58 views
5

我需要生成這樣的查詢:Kohana的ORM 3比較2列在where子句

SELECT * FROM `table1` WHERE `date1` < `date2` 

我無法找到如何在Kohana的ORM比較2列。這裏date2被認爲是文本。

$foo = ORM::factory('model1')->where('date1','<','date2'); 

我該如何寫這行?

謝謝!

更多信息:

我用這個時刻:

$query = DB::query(Database::SELECT, "SELECT id FROM table1 WHERE `date1` < `date2`"); 
$result = $query->execute(); 

$foo = array(); 
foreach ($result as $r) { 
    $foo[] = ORM::factory("model1", $r['id']); 
} 
+0

以及爲什麼不使用純* SQL *通過* PDO *? –

+0

這種方法有什麼問題' - > where('date1','<','date2');'? – SET

回答

3

如果你不想Kohana的修改字符串,因爲它會與在DB的第三個參數,其中的功能,您可以使用DB::expr()函數,它將保留您未修改的內容。因此,以您爲例,您可以使用

$foo = ORM::factory('model1')->where('date1','<',DB::expr('date2')); 
+0

謝謝,工作正常! –