1

私はまだCakephpを初めて使用しています。同じモデルに対して3つの検索クエリがあり、それらを組み合わせて1つにしようとしました。データにアクセスする簡単な方法では難しいと思います。特に、検索条件が異なります。たぶんそれはできません。

Cakephp バージョン 2.3.5

    // Count Total Members
    $totalMemebers = $this->Member->find('count');
    $this->set('totalMemebers', $totalMemebers);

    // SUM total points gained for the last 7 days  (positive values)   
    $this->Member->Point->virtualFields['gainedTotal'] = 'SUM(Point.points)';
    $gainedTotal = $this->Member->Point->find('all', array(
        'recursive'=> -1, 
        'fields' => array('gainedTotal'), 
        'conditions'=>array(
                'Point.points >'=>0, 
                'Point.date >' => date('Y-m-d', strtotime("-1 weeks")))
        )
    );
    $this->set('gainedTotal', $gainedTotal);

    // SUM total points redeemed for the last 7 days (negative values)
    $this->Member->Point->virtualFields['redeemedTotal'] = 'SUM(Point.points)';
    $redeemedTotal = $this->Member->Point->find('all', array(
        'recursive'=> -1,   
        'fields' => array('redeemedTotal'), 
        'conditions'=>array(
                'Point.points <'=>0), 
                'Point.date >' => date('Y-m-d', strtotime("-1 weeks"))
        )
    );
    $this->set('redeemedTotal', $redeemedTotal);
4

1 に答える 1