Kohana 3 ORM比较where子句中的2列

时间:2011-10-09 08:26:33

标签: kohana-3 kohana-orm

我需要生成类似的查询:

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']);
}

1 个答案:

答案 0 :(得分:3)

如果您不希望Kohana修改字符串,就像使用DB where函数中的第3个参数一样,您可以使用DB::expr()函数,该函数将保留您未修改的内容。因此,使用您的示例,您可以使用

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