Bonjour, je vais un projet pour un atelier de formation où les cours seront mis en ligne pour les auditeurs. Pour structurer les cours, j'ai créé une structure en arbre avec l'extension doctrine tree. Mon entité section peut donc imbriquer Partie, chapitre, paragraphe, etc.
Mais le problème, j'ai associé à l'entité Section une entité Cours destinée à contenir le contenu de la partie, du chapitre ou du paragraphe :
Le problème, est que je n'arrive pas à accéder à l'entité associée Cours par la propriété courss. Dans mon repository, je fais ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 /** * @ORM\OneToMany(targetEntity="Svi\FormationBundle\Entity\Cours", mappedBy="section") */ private $courss;
Et dans la vue
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 $repo = $this->_em->getRepository('SviFormationBundle:Section'); $query = $this->createQueryBuilder('node') ->leftJoin('node.courss', 'c') ->orderBy('node.root, node.lft', 'ASC') ->where('node.root = 1') ->setParameters(array('slug' => $slug)) ->getQuery() ; $options = array( 'decorate' => false, ); return $repo->buildTree($query->getArrayResult(), $options);
Mais là il me renvoie l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 {% for s in sections %} {% if s.courss|length > 0 %} <li><a href="{{ path('course') }}">{{ s.titre }}</a></li> {% else %} <li>{{ s.titre }}</li> {% endif %} {% endfor %}
Aucune erreur ne se produit si je ne mets pas de condition sur la propriété courss.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Key "courss" for array with keys "id, titre, sommaire, slug, deactivated, lft, lvl, rgt, root, __children" does not exist in SviFormationBundle:Formation:see_courses.html.twig at line 22
Partager