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

发布于 2024-12-08 15:27:29 字数 535 浏览 0 评论 0原文

我需要生成这样的查询:

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

我找不到如何比较 kohana ORM 中的两列。这里 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']);
}

I need to generate query like that :

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

I can't find how to compare 2 columns in kohana ORM. Here date2 is considered as text.

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

How can I write this line ?

Thanks!

More info:

I use this for the moment:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终止放荡 2024-12-15 15:27:29

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

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

If you don't want Kohana to modify the string, as it would with the 3rd argument in the DB where function, you can use the DB::expr() function which will leave what you pass unmodified. So with your example, you could use

$foo = ORM::factory('model1')->where('date1','<',DB::expr('date2'));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文