我重寫我的doSave()方法基本上做到以下幾點:我有一個sfWidgetFormPropelChoice字段,用戶可以選擇,或鍵入一個新的選項。我怎樣才能改變小部件的價值?或者,也許我正在接近這個錯誤的方式。因此,這裏是我如何推翻了DoSave就會()方法:在symfony中,如何設置表單域的值?
public function doSave($con = null)
{
// Save the manufacturer as either new or existing.
$manufacturer_obj = ManufacturerPeer::retrieveByName($this['manufacturer_id']->getValue());
if (!empty($manufacturer_obj))
{
$this->getObject()->setManufacturerId($manufacturer_obj->getId()); // NEED TO CHANGE THIS TO UPDATE WIDGET'S VALUE INSTEAD?
}
else
{
$new = new Manufacturer();
$new->setName($this['manufacturer_id']->getValue());
$new->save();
$this->getObject()->setManufacturerId($new->getId()); // NEED TO CHANGE THIS TO UPDATE WIDGET'S VALUE INSTEAD?
}
parent::doSave($con);
}
感謝您的答覆!你會如何去做同行中的這項工作?既然它與形式有關,不應該以形式出現嗎?對等體沒有可以是ID或新名稱的表單數據。 – 2009-06-23 04:51:15