CakePHP1.2ではフォームの作成にはhtmlヘルパーを使わず、
formヘルパーを使うようになった。
使い方は以下のような感じ。
< ?php $form->create(’User’); $form->input(’name’); $form->end(’Submit’); ?>
1.1から移行した時はなんだか良く分からないなあと思うけど、
使っていくうちに$form->inputが色々出来ることに気付く。
誕生日なんかも$form->input(’birthday’, array(’type’ => ‘date’));
みたいな感じで出来るので面白い。
月が英語で出るのがやっかいだが。
例えば以下のようなデータ構造の場合。
User
- Item
- Item
- Item
このようにItemが複数ある場合もフォームで作れる。
もしかしたら1.2betaバージョン以降じゃないと駄目かもしれないが、
以下のように作成できる。
< ?php $form->create(’User’); $form->input(’name’); $form->input(’Item/0/name’); $form->input(’Item/1/name’); $form->input(’Item/2/name’); ?>
これで
$this->data[’Item’]に複数のItemが入る。
色々出来るんだなあと思った。
後は、app_model.phpにそれようのバリデーション関数や
保存関数を加えておけばもっと便利に。
function insertList($rows) { foreach ($rows as $row) { $this->create($row); if (!$this->save()) return false; } return true; }
みたいな感じ。