Salut.

J'utilise Symfony, et j'ai un problème avec ce bout de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 public function executeShow(sfWebRequest $request)
  {
    $this->accueil = Doctrine::getTable('Accueil')->findAll();
    $this->forward404Unless($this->accueil);
  }
qui me met un message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'Doctrine_Collection' does not have a method 'getContent' in P:\BOULOT\WEB\Twan\symfony\lib\vendor\symfony\lib\escaper\sfOutputEscaperObjectDecorator.class.php on line 64
Alors que celui-ci fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 public function executeShow(sfWebRequest $request)
  {
    $this->accueil = Doctrine::getTable('Accueil')->find(array(1));
    $this->forward404Unless($this->accueil);
  }
INFOS COMPLÉMENTAIRES :
- Le module d'Accueil du site que je réalise ne contient qu'un article (donc une seule entrée dans la table "accueil").
- Comme j'utilise data-load plus souvent que build --all --and-load, les id des fixtures ne sont pas remises à zéro, et donc ça pose problème avec le find(array(1)) qui pointe vers nullepart (puisque la seule entrée de la table Accueil voit son id augmenter à chaque rechargement des fixtures) !
- Bref, et puis de toutes façon j'aimerais comprendre pourquoi findAll() ne fonctionne pas. C'est sensé retourné toutes les entrées non?