2013-08-25 55 views
2

昨晚我花了大量的时间搜索互联网,试图找到一种解决方案,查找从MySQL数据库中最后一小时创建的所有记录。在一个答案,我发现这是到处张贴甚至不工作..CakePHP:查找上一小时的记录

这是我想出基于我在网上找到和想到的可能工作:

$recentUploads = $this->Upload->find('all', array(
      'conditions' => array('Upload.created LIKE' => date('Y-m-d H:i:s', strtotime('-1 hour'))) 
     )); 

,但仍没有一切都好运。有什么想法吗?

回答

4

你想记录哪里timesta熔点大于或等于时间1小时前:

$recentUploads = $this->Upload->find(
    'all', 
    array(
    'conditions' => array(
     'Upload.created >=' => date('Y-m-d H:i:s', strtotime('-1 hour')) 
    ) 
) 
); 
+0

我知道我错过了一些非常小的东西:\非常感谢,它完美的作品! – div

+0

你会怎么做小于或等于1小时? (lol,nvm,没有注意到> =) – brizz

0

你需要这个功能,任何时候你想使用:

function SinceDate($timebyminuites) 
{ 

$to_time = strtotime(date('Y-m-d H:i:s')); 
$from_time = $timebyminuites*60; 
return date('Y-m-d H:i:s',round(abs($to_time - $from_time),2)); 
} 
当你想从一个小时前 得到的日期时间,你可以使用这样的功能

$onehoursago = SinceDate(60); 

和查询将是这样的:

select * from Upload where Upload.created >= '$onehoursago' 
+0

不是'的strtotime(日期( 'Y-M-d H:I:S'))''有效时间()'? – ndm