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

DB where 関数の 3 番目の引数のように、Kohana に文字列を変更させたくない場合は、DB::expr()渡したものを変更しないままにする関数を使用できます。したがって、あなたの例では、使用できます

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