我需要从超过 2 天(工作日)的表中检索所有记录,并返回它已存储的天数。
例如,如果今天是 2013 年 8 月 12 日(星期一),我需要检索 2013 年 8 月 8 日(星期四)及之前的所有记录,其计数应为 2(8 月 10 日和 11 日星期五)。
我的模特 :作者
我的数据库字段:创建(类型:日期)
控制器功能
public function index() {
$authors=array();
$conditions = array(
'AND' => array(
'Author.created !='=>date('Y-m-d'), //to ignore today in count.You can remove this if you want to consider
'Author.created < NOW() - INTERVAL 2 DAY', // you can change INTERVAL as per your need
)
);
$authors = $this->Author->find('all', array(
'conditions' =>$conditions));
foreach ($authors as $key=>$value)
{
$arr[$key]=$value['Author']['created'];
$ts1 =strtotime(date('Y-m-d'));
$ts2 = strtotime($arr[$key]);
$seconds_diff = $ts1 - $ts2;
$days[$key]=floor($seconds_diff/3600/24);
}
$this->set(compact('authors', 'days'));
}
index.ctp 文件
<?php
foreach($authors as $key=>$author): ?>
<h2>Name:<?php echo $author['Author']['name'] ?></h2>
<h2>Since:<?php echo $days[$key]; ?> Days</h2>
<?php endforeach; ?>
希望这会对您有所帮助。如果您有任何问题,请告诉我们。