Bonjour,

Je début actuellement avec Symfony, et après avoir passé plusieurs heures à essayer de comprendre une erreur, ou plutôt un comportement que je ne souhaitais pas, je me suis résolu à venir poster ici.

Alors voilà j'ai une table news_category décrit par le schéma suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
# Table "news_category"
NewsCategory:
  actAs:          [Sluggable, Timestampable]
  columns:
    id:           { type: integer, primary: true, autoincrement: true }
    title:        { type: string(255), notnull: true }
    image:        { type: string(255), notnull: true }


Et voici le contenu de mon fichier /apps/backend/modules/newsCategory/actions.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
class newsCategoryActions extends sfActions
{
 
  public function executeIndex(sfWebRequest $request)
  {
    $this->categories = Doctrine::getTable('NewsCategory')
            ->createQuery('c')
            ->orderBy('c.title')
            ->execute();
  }
 
 
 
  public function executeAdd(sfWebRequest $request)
  {
    $this->form = new NewsCategoryForm();
    if($request->isMethod('post')) $this->processForm($request, $this->form);
  }
 
 
 
  public function executeEdit(sfWebRequest $request)
  {
    $this->category = Doctrine::getTable('NewsCategory')->find($request->getParameter('id'));
    if($request->isMethod('put'))
    {
        $this->form = new NewsCategoryForm();
        $this->processForm($request, $this->form);
    }
    else $this->form = new NewsCategoryForm($this->category);
  }
 
 
 
  protected function processForm(sfWebRequest $request, sfForm $form)
  {
    $form->bind($request->getParameter($form->getName()));
    if($form->isValid())
    {
        $category = $form->save();
        $this->redirect('newsCategory/index');
    }
  }
}

Le problème se situe au niveau de l'action "edit". Lorsque j'appuie sur mon bouton "Envoyer" j'ai droit à cette erreur de validation : Id: Invalid.

L'action "add" fonctionne elle parfaitement.

Aussi j'ai quelques doute sur est-ce que j'utilise la bonne méthode pour traiter mes formulaires ? Si quelqu'un avec un peu d'expérience avec Symfony pouvait aussi m'aiguiller la-dessus, ce serait super.

Voilà, d'avance je vous remercie.