Estoy anulando mi método doSave() para básicamente hacer lo siguiente: Tengo un campo sfWidgetFormPropelChoice que el usuario puede elegir o escribir una nueva opción. ¿Cómo puedo cambiar el valor del widget? O tal vez me estoy acercando a esto de la manera incorrecta. Así que aquí es lo que me hizo caso omiso del método doSave():En symfony, ¿cómo establecer el valor de un campo de formulario?
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);
}
Gracias por su respuesta! ¿Cómo harías ese trabajo en el par? Dado que está relacionado con la forma, ¿no debería ir en la forma? El par no tiene los datos del formulario que serían una identificación o un nombre nuevo. –