CakePHP 1.2 でデフォルト値の設定

CakePHP 1.2 にて、新規作成用のフォームにデフォルト値が入っていてほしい。適切な例とは言い難いが、仮に Userモデルを新規作成時に username のデフォルト値を設定してみる。その方法は3通りある。1つめの方法がシンプルで良さげ。

その1:テーブル定義からデフォルト値をセットする方法

あらかじめテーブルの定義時にデフォルト値を設定しておくと、モデル生成時にその値をセットしてくれる。

テーブル定義:

CREATE TABLE users (
  id integer,
  username varchar(64) default 'hogehoge',
  password varchar(128),
  primary key (id)
);

コントローラ:

<?php
  // モデル生成時、 username に 'hogehoge' が入っている。
  $this->data = $this->User->create();

その2:モデル生成時にデフォルト値をセットする方法

Model::create() の第1引数でデフォルト値をセットする。
デフォルト値のパターンが複数ある場合に使う方法かな?

コントローラ:

<?php 
    // 第1引数にデフォルト値をセット
    $this->data = $this->User->create(array('username' => 'hogehoge')); 

その3:フォームヘルパーでデフォルト値をセットする方法

ビュー:

<?php
  // 第2引数に 'default' を指定する
  $form->input('User.username', array('default' => 'hogehoge'));

でも、なんか気持ち悪い。(デフォルト値の変更のとき、わざわざビューを修正したくない)