cakephp选择计数天数

时间:2013-08-12 13:39:08

标签: mysql cakephp

我需要从超过2天(工作日)的表中检索所有记录,并返回已存储的天数。

例如,如果今天是2013年8月12日(星期一),我需要从2013年8月8日(星期四)及以后查找所有记录,其计数应为2(8月10日和11日星期五)。

1 个答案:

答案 0 :(得分:0)

我的模特:作者

我的数据库字段:已创建(类型:日期)

控制器功能

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; ?>

希望这会对你有所帮助。如果你有任何问题,请告诉我们。