2012-04-27 9 views
2

私はYiiアプリケーション用のフォームを生成するためにCModel(Gii具体的)を使用しています。私はそれがどのように私のフォーム要素のname=""属性の名前に問題があります。彼らは私のDB上の私のテーブルのフィールドのように見えます。したがって、表のように:Users<input type="text" name="Users[usr_username]" ... />CForm Yii Frameworkのカスタムフォームの要素名属性

これは私のテーブル名とフィールドを提供します。実際のテーブル名が表示されないようにモデル名を変更することができますが、少なくともusr_usernameusernameに変更したいと思います。あるいは、要素のname属性のモデル名を削除して、代わりにname="username"としてください。

本当にありがとうございます。

よろしく

答えて

3

ですから、このような単純なテキストフィールドを使用できます。

<?php echo CHtml::textField('username'); ?> 

をそしてあなたのモデルは、コントローラの属性とそれらをマッピングします。

$model->usr_username = $_POST['username']; 

しかし、あなたウォン」は大量割り当てを行うことができます:

あなたはyoureの場合、私はあなたがGIIてモデルを生成しているため、真のだと思うのフォームを作成するCActiveFormウィジェットを使用している場合
+3

それはまた、あなたが大規模な割り当て –

+1

感謝を行うことができないことを明示的に言及する価値があるが、私は明示的に言及し、それを更新しました。 – Puigcerber

+1

ありがとうございます。これは大いに役立ちます。私はそれが必要なので、大量の割り当て作業を行う方法を見つけ出すでしょう。 – Sthe

0

は、あなたはいつものように、フォームの入力を生成する方法のhtmlOptionsプロパティを設定することができます。

$form->textField($model,'attribute_name',array('name'=>'your_custom_name')); 

上記の場合、入力値は$ _POST ['your_custom_name']でアクセスできます。つまり、大量の割り当ては機能しません。

入力のidプロパティを指定しない場合は、nameプロパティ( 'your_custom_name')と同じになります。

よろしく

関連する問題