[sfWidgetFormJQueryAutocompleter] Ajout de valeur non-existante ?
Bonjour,
j'ai ajouté un champ sfWidgetFormJQueryAutocompleter dans mon appli.
Ma question est la suivante : si j'entre une valeur non-préalablement existante dans ma base, comment faire pour que cette valeur soit sauvegardée ?
(Actuellement, elle me met un chiffre à la place de la chaîne tapée... :|)
MobiliteTable.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| public function getDataWhere($string)
{
$q = Doctrine_Query::create()
->select('nature')
->from('Mobilite')
->where('nature LIKE ?', "%$string%")
->orderBy('nature ASC')
->execute()
->getData();
return $q;
} |
MobiliteForm.class.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| public function configure()
{
$this->addWidgets();
}
protected function addWidgets()
{
$this->widgetSchema['nature'] = new sfWidgetFormJQueryAutocompleter(array(
'url' => ('/myaction'),
'config' => '{ scrollHeight: 250 ,
autoFill: false }'
));
} |
action.class.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| public function executeMyAction(sfWebRequest $request)
{
$this->getResponse()->setContentType('application/json');
$string = $request->getParameter('q');
$req = Doctrine::getTable('Mobilite')->getDataWhere($string);
$results = array();
foreach ( $req as $result ){
$results[$result->getId()] = $result->getNature();
}
return $this->renderText(json_encode($results));
} |
Je creuse, je creuse mais je ne vois pas...
Est-il simplement impossible d'ajouter une nouvelle valeur dans un sfWidgetFormJQueryAutocompleter ?