Je substitue ma méthode doSave() pour essentiellement faire ce qui suit: J'ai un champ sfWidgetFormPropelChoice que l'utilisateur peut choisir, ou tapez une nouvelle option. Comment puis-je changer la valeur du widget? Ou peut-être que j'approche cela de la mauvaise façon. Alors, est ici comment je l'emporterait sur la méthode doSave():Dans symfony, comment définir la valeur d'un champ de formulaire?
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);
}
Merci pour votre réponse! Comment iriez-vous faire ce travail chez les pairs? Puisque c'est lié à la forme, ne devrait-il pas aller dans le formulaire? L'homologue n'a pas les données de formulaire qui seraient un ID ou un nouveau nom. –