1

取引テーブルがあり、コントローラーにフィールド開始日があります。以下のコードを試していますが、これらの条件の取引がある場合、取引が返されません。

コードは次のとおりです。

function todays_deal($CitySlug = null) {

        $city = $this->City->find('first', array('conditions' => array('City.slug' => $CitySlug)));
        $CityID = $city['City']['id'];
        $now = date('Y-m-d H:i:s');
        $conditions = array(
            'Deal.city_id' => $CityID,
            'Deal.type' => 'F',
            'Deal.start >=' => $now
        );

        $deal = $this->Deal->find('first',array('conditions'=> $conditions, 'order' => 'Deal.start DESC'));
    $left = array();
        $now = time();
        //Change dates to timestamp
        $end = strtotime($deal['Deal']['end']);
        $start = strtotime($deal['Deal']['start']);
        if($end < $start){
            $end = $start;
        }

        $diff_time = $left_time = $end - $now;

        if ($start >= $now ) {
            $diff_time = $left_time = $start - $now;
        }

        $left_day = floor($diff_time/86400);
        $left_time = $left_time % 86400;
        $left_hour = floor($left_time/3600);
        $left_time = $left_time % 3600;
        $left_minute = floor($left_time/60);
        $left_time = $left_time % 60;

        $this->set(compact('deal', 'left_day', 'left_hour', 'left_minute', 'left_time', 'now', 'diff_time'));

    }

なぜこれが取引を返さないのか、私は完全に迷っています。

すべての助けに感謝

ありがとうデイブ

4

1 に答える 1

2

CakePHP でデバッグ レベルを上げると、使用されたクエリがダンプされます。

選択用に生成された SQL を確認してください。おそらく日付形式に問題があります。

于 2011-09-02T07:41:57.810 に答える