レポートがある年ごとに1行を返すSQLクエリを実行しています。同じ結果を得るには、cakephp 1.3 コントローラーの構文が必要です。
SELECT DISTINCT Year( `dated` )
FROM `reports`
ORDER BY Year( `dated` ) ASC
私が試した私のcakephp 1.3クエリ:
$theYear = $this->Model->Database->find('all',array('fields'=>'DISTINCT Report.dated as Year')); // this still returns all entries, not distinct
また
$theYear = $this->Model->query('SELECT DISTINCT Report.dated from Report as Year ORDER by Report.dated ASC'); // returns bool(false)
私のケーキモデルでも機能を試しました:
function getYears()
{
$ret = $this->query
(
"SELECT DISTINCT dated FROM reports as Year ORDER BY dated ASC"
);
return $ret;
} // returns NULL
予想される結果: 2011 2012 2013