Sto sovrascrivendo il mio metodo doSave() per fare fondamentalmente quanto segue: Ho un campo sfWidgetFormPropelChoice da cui l'utente può scegliere, o digitare una nuova opzione. Come posso modificare il valore del widget? O forse mi sto avvicinando a questo nel modo sbagliato. Quindi, ecco come ho calpestato il metodo doSave():In symfony, come impostare il valore di un campo modulo?
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);
}
Grazie per la risposta! Come faresti a fare quel lavoro nel peer? Dal momento che è legato alla forma, non dovrebbe andare nella forma? Il peer non ha i dati del modulo che potrebbero essere un ID o un nuovo nome. –