Plantage dans l'affichage de la page par twig

Petit nouveau ! | 2 Messages

04 juin 2013, 14:37

bonjour,
Est ce que twig permet des expressions du type
{{client.adresse.pays.codePays}}
?
Dans mon application Symfony 2.2.1, j'ai trois entités Client/Adresse/Pays.
ce sont des relations OneToOne.
Le fichier twig suivant fonctionne correctement en affichant la liste des clients renvoyée par le contrôleur:
       {% for entity in entities %}
            <tr>
                <td>{{ entity.nom }}</td>
                <td>{{ entity.adresse.ville }}</td>
                <td>{{ entity.adresse.codePays }}</td>
            </tr>
        {% endfor %}
mais si je remplace
<td>{{ entity.adresse.codePays }}</td>
par
<td>{{ entity.adresse.pays.codePays }}</td>
=> l'affichage de la page s'arrête juste avant cette cellule puis plus rien !
Pourtant, en debug, on voit bien l'info client.adresse.pays.codePay pour chaque entité.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

10 juil. 2013, 14:05

Salut,

il faudrait voir les entités pour savoir si c'est possible. Tu ne vois rien dans les logs ? (Symfony / Apache)

Petit nouveau ! | 2 Messages

10 juil. 2013, 19:14

Problème résolu: il faut respecter la casse. D'autre part, la définition de mes entités était incomplète (fichier yml).
J'ai dû passer par des mini-projets simples pour bien appréhender la syntaxe.
C'est vraiment pas assez documenté (surtout doctrine sous Symfony). Mais qu'est ce que c'est puissant ... quand c'est enfin écrit avec la bonne syntaxe.
Tout de même, pour certaines erreurs, le plantage est très violent: aucune trace dans les logs.
Merci.