0

特定の日に作成されたデータベースからすべてのレコードを検索する方法を見つけようとしていますが、必要な条件を見つけるのに苦労しています。これは私がこれまでに持っているものです:

$date = new DateTime('2012-11-25');
$users = $this->User->find('all', array('conditions' => array('User.created > ' => $date)));

しかし、これは指定された日以上のものを私に与えてくれます。11 月 25 日にのみ作成されたすべてのユーザーを返すように条件を調整するにはどうすればよいですか?

4

3 に答える 3

0

コードに大なり記号が含まれています。

$users = $this->User->find('all', array('conditions' => array('User.created > ' => $date)));

なしで試してください:

$users = $this->User->find('all', array('conditions' => array('User.created' => $date)));
于 2012-11-26T23:21:33.697 に答える
0

これには CakeTime メソッドを使用するか、この特定の日の日付部分のみをチェックすることを手動でアサートする必要があります。

http://book.cakephp.org/2.0/en/core-utility-libraries/time.html#CakeTime::dayAsSql

'conditions' => CakeTime::dayAsSql($date, 'created')
于 2012-11-26T23:24:27.883 に答える
0

いろいろ遊んだ末、やっと動くようになりました。うまくいけば、これは同じ状況に遭遇した他の誰かを助けることができます:

$date = new DateTime('2012-11-25');
$users = $this->User->find('all', array('conditions' => CakeTime::dayAsSql($date, $date, 'User.created')));

重要なのは、$date を 2 回指定することです。

于 2012-11-27T00:44:39.600 に答える