我有這樣的代碼:Yii的下拉列表默認值
echo $form->dropDownList($model,
'defaultPrinterId',
CHtml::listData(Printer::model()->findAll(), 'id', 'name'),
array('prompt' => '-- None--'));
,給了我一個下拉列表,像這樣:
<select id="LabelType_defaultPrinterId" name="LabelType[defaultPrinterId]">
<option value="">-- None --</option>
</select>
然而,當窗體的帖子,它增加了一個價值,我的表,其中defaultPrinterId是0.而不是那個,我怎麼會使它爲空,因爲它是一個可爲空的字段?
這個工程就像一個魅力,但它似乎有點有點笨重給我。基本上每個使用此控制器的控制器操作都需要重複這些代碼,以將空字符串轉換爲空值。似乎應該以某種方式在模型中指定,或者最好是該htmlDropDown工具中的參數之一將發送提示給模型,嘿,將此空字符串視爲null。 –
您也可以嘗試'empty'參數而不是'prompt',但IIRC的行爲相似。 – adamors
另外,如果您想稍微複雜一點,您可以爲不同的場景定義自定義規則和/或默認值(插入/更新/等)。看看[CModel :: rules()](http://www.yiiframework.com/doc/api/1.1/CModel/#rules-detail)瞭解更多信息。 – adamors