2011-01-22 3 views
1

私は通常、Cakeのように、モデルからではなくカスタム配列からのビュータイプに入力フィールドを割り当てたいと思います。 だから、私はフィールドタイプを伝えるキー(ビューに渡された)私の配列を持っているデータベース内のフィールドには持っている必要があります。CakePHPは、カスタム配列からビューの入力型を設定しました

[type] => 'varchar(32)'

私は希望

ケーキを割り当てる自動的にこのフィールドタイプを知っているとします対応する入力フィールドに入力します(上の例では、入力はtextになります)。どうすればこれを達成できますか?

ありがとうございます。

P.S:これらは、「変換」は、私は(表から)を達成したいと思います:フォーム要素をHTMLにData types correspondings in Cake

答えて

0

linkyndy、モデルスキーマ型から

マッピングここで行われる - http://api.cakephp.org/view_source/form-helper/#l-738。さらに、varchar(32)(string)は、FormHelperを使用するときにhtml入力要素を作成します。代わりにテキストエリアが必要ですか?

自動フィールド検出を使用したくない場合は、入力の呼び出しでエレメントタイプを指定できます。それが受け入れられない場合は、CakePHPが期待するものに合うようにdbフィールド型を変更したり、モデルのschema()の結果を操作したり、独自のヘルパーにオーバーライドされたinput()メソッドを提供することができます。

$ this-> Form-> input()の呼び出しで型を指定するのは簡単です。

+0

これらのフィールドタイプが「実際」ではないため、SQLのスキーマは変更できません。これらは列として追加され、ターゲットテーブルのフィールドタイプを表します。フィールド型を配列に格納しておくと、これを行うほうが簡単な方法だと思っていました。だから、唯一の方法は、配列に格納されたフィールド型を見て、input()のoptions配列に適切な対応を割り当てることです。 – linkyndy

関連する問題