表題の通りなんだけど、CakePHPで検索フォームなんか作ったりしててはまった。
Viewはこんな感じです。
input('Model.date', array('name' => 'date[]', 'selected' => $date, 'dateFormat' => 'YMD', 'timeFormat' => 'NONE', 'monthNames' => false, 'minYear' => date('Y'), 'maxYear' => (date('Y')+1))); ?>
いやー、FormHelperはなんでもできちゃいますねぇ。
んでController
// Controllerには結局配列でわたってきちゃうので、元に戻してあげる
if (isset($this->params['url']['date'])) {
if (is_array($this->params['url']['date'])) {
$this->params['url']['date'] = date('Y-m-d', mktime(0,0,0, $this->params['url']['date'][1], $this->params['url']['date'][2], $this->params['url']['date'][0]);
}
}
// そしてセット
$this->set('date', $this->params['url']['date']);
if (isset($this->params['url']['date'])) {
if (is_array($this->params['url']['date'])) {
$this->params['url']['date'] = date('Y-m-d', mktime(0,0,0, $this->params['url']['date'][1], $this->params['url']['date'][2], $this->params['url']['date'][0]);
}
}
// そしてセット
$this->set('date', $this->params['url']['date']);
GETで渡ってくる形がスマートでは無いけど、結構コンパクトに書けちゃったので満足でした。
0 件のコメント:
コメントを投稿