-1

2 日 (営業日) より古いテーブルからすべてのレコードを取得し、保存されている日数も返す必要があります。

たとえば、今日が 2013 年 8 月 12 日 (月) の場合、2013 年 8 月 8 日 (木) 以降のすべてのレコードを取得する必要があり、そのカウントは 2 (8 月 10 日と 11 日) である必要があります。

4

1 に答える 1

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

これがお役に立てば幸いです。問題がある場合はお知らせください。

于 2013-08-13T09:05:20.880 に答える