2012-04-27 75 views
2

我正在使用CModel(Gii專門)爲我的Yii應用程序生成表單。我對如何命名我的表單元素的name=""屬性存在問題。它們看起來完全像我的數據庫中的表格字段。所以,對於像表:Users。我得到一個表單元素,如<input type="text" name="Users[usr_username]" ... />CForm上的自定義表單元素名稱屬性Yii Framework

這給出了我的表名和字段。我知道我可以將模型名稱更改爲其他名稱以避免顯示我的真實表名,但我也想至少將usr_username更改爲username。或者甚至刪除元素名稱屬性上的型號名稱,並改爲name="username"

我真的很感激你的意見。

問候

回答

3

所以,你可以使用簡單的文本字段是這樣的:

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

然後用你的模型在控制器屬性映射它們:

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

但你韓元」 t能夠做大規模的任務:

$model->attributes = $_POST['Users']; 
+3

這也是值得一提的明確,你將無法做大量的作業 – 2012-04-27 07:50:17

+1

謝謝,我已經更新它明確提及這一點。 – Puigcerber 2012-04-27 07:56:24

+1

謝謝你們。這有很大幫助。我會想出一個方法來完成大量的任務,因爲我也需要它。 – Sthe 2012-04-27 08:35:12

0

如果您使用CActiveForm小工具來創建形式,在您選擇的情況下,我認爲,因爲你已經產生過GII模型是真實的,你總是可以設置生成表單輸入,類似的方法htmlOptions屬性:

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

在上面的例子中,輸入值可以通過$ _POST ['your_custom_name']來訪問,這意味着大規模的分配將不起作用。

另請注意,如果您不指定輸入的id屬性,它將與name屬性('your_custom_name')相同。

問候

相關問題