我重写我的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