5

我需要生成这样的查询:

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

1 回答 1

3

如果您不希望 Kohana 修改字符串,就像使用 DB where 函数中的第三个参数一样,您可以使用该DB::expr()函数,该函数将使您传递的内容保持不变。所以在你的例子中,你可以使用

$foo = ORM::factory('model1')->where('date1','<',DB::expr('date2'));
于 2011-10-11T22:27:34.773 回答