CakePHP:如何根据创建的时间从数据库中获取数据

时间:2014-11-20 18:04:47

标签: javascript php cakephp

我正在建立一个类似Facebook的网站。为此,我想实现“长轮询”以使用新帖子动态更新用户墙。

这是我计划的伪代码

//when user first open my website
loadPostsNormally();
var lastTime = current_time;
function update(){
$.getJSON('/some_other_page_which_will_fetch_the_contents_created_after_lastTime_and_encode_it_to_json/'+lastTime,function(){
lastTime = current_time;
showNewPostsOnWall();
}

setInterval(update,2000);

现在问题在于我的网页some_other_page_which_will_fetch_the_contents_created_after_lastTime_and_encode_it_to_json

public function some_other_page_which_will_fetch_the_contents_created_after_lastTime_and_encode_it_to_json($timestamp){
    //fetch_all_data_created_after_this_timestamp_but_how ??
}

我想从我的Post模型中获取,我在'created'字段中的帖子时间表就像2014-11-19 22:34:09

很抱歉使用非常外行的语言来描述问题。我之所以使用它,是因为我还没有启动它,我只是计划在脑海中解决这个问题。

2 个答案:

答案 0 :(得分:0)

o只需获取数据,只需使用条件即可:

$results = $this->Model->find('all',array(
                            'conditions'=>array('Model.date_creation >'=>  '2014-11-20'),
                            'recursive'=>1)
                    );

答案 1 :(得分:0)

如何根据时间间隔获取数据?

所以你有$ start和$ end。

$start = '1800-01-01 00:00:00' //Januuary 1, 1800 or whatever you choose
$end = date('Y-m-d H:i:s'); // Now

SELECT *
FROM `Posts` p
WHERE (
p.data_created
BETWEEN $start
AND $end
)

甜!现在你可以整天抓取。