我需要生成类似的查询:
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 :(得分:3)
如果您不希望Kohana修改字符串,就像使用DB where函数中的第3个参数一样,您可以使用DB::expr()
函数,该函数将保留您未修改的内容。因此,使用您的示例,您可以使用
$foo = ORM::factory('model1')->where('date1','<',DB::expr('date2'));