先月のデータを取得したいのですが、以下のコードを使用していますが、正しく機能していません。
これが私のコードです:
public function getLastMonth($user_id)
{
$criteria=new CDbCriteria;
$criteria->condition = 'leave_from_date >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)';
$criteria->condition = 'leave_to_date <= DATE_SUB(CURDATE(), INTERVAL 1 DAY)';
$criteria->condition = "user_id = $user_id";
$data = Leaves::model()->findAll($criteria);
$lastMonthR = 0;
foreach($data as $lastMonth)
{
$lastMonthR += $lastMonth->total_leaves_hours;
}
//return lastMonthR CHtml::encode($lastMonthR);
return $lastMonthR;
}
MYSQL にある次のクエリの結果と同等の結果を取得したい:
SELECT *,sum(total_leaves_hours) FROM tbl_leaves
WHERE leave_from_date >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH) AND
leave_to_date <= DATE_SUB(CURDATE(), INTERVAL 1 DAY) ;
YII のコード (上記) を実行すると、テーブルのすべてのデータが表示されます。YII を初めて使用する私を助けてください。前もって感謝します。