Quantcast
Channel: Grafikart | Derniers Sujets du forum
Viewing all articles
Browse latest Browse all 1542

SF5 - Récupérer liste des users de mon école

$
0
0

Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je veux

J'ai une entité : Users qui contient la liste de mes utilisateurs
J'ai une entité : Schools qui contient la liste des coles de mon village
J'ai une relation entre les deux en ManyToMany avec la table générée automatiquement : users_schools

Côté Directeur, je veux que celui-ci puisse lister la liste des utilisateurs qui se trouvent dans son école

Ce que je fais

La méthode dans mon controller Director

/**
    * @Route("/prof-list", name="professor_list")
    */
   public function listprof(UsersRepository $usersRepo, SchoolsRepository $schoolRepo) {

       // On récupère l'ID de l'user connecté
       $recupuserid = $this->getUser()->getId();

       // On cherche à filtrer l'école concernée
       $school = $schoolRepo->findOneBy([
           'director' => $recupuserid
       ]);

       // On récupère l'ID de l'école concernée
       $B = $school->getId();

       // On requête sur l'entité user
       $QB = $usersRepo->createQueryBuilder('u')
       ->where('u.schools = :schools')
       ->setParameter('schools', $B);

       $result = $QB->getQuery()->getResult();

       return $this->render('director/proflist.html.twig', [
           'users' => $result
       ]);
   }

Ma vue TWIG

{% extends 'base.html.twig' %}
{% block body %}
    <h1 class="h3 mb-4 text-gray-800">Liste des professeurs de votre école</h1>
    <div class="card mb-12">
        <div class="card-header"></div>
        <div class="card-body">
            <div class="table-responsive">
                <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
                  <thead>
                    <tr>
                      <th>#</th>
                      <th>Nom</th>
                      <th>Prénom</th>
                      <th>Edition</th>
                    </tr>
                  </thead>
                  <tfoot>
                    <tr>
                    <th>#</th>
                    <th>Nom</th>
                    <th>Prénom</th>
                    <th>Edition</th>
                    </tr>
                  </tfoot>
                  <tbody>
                    {% for user in users %}
                    <tr>
                        <td>{{ user.id }}</td>
                        <td>{{ user.lastname }}</td>
                        <td>{{ user.firstname }}</td>
                        <td>EDIT</td>
                    </tr>  
                    {% endfor %}
                  </tbody>
                </table>
              </div>
        </div>
    </div>
{% endblock %}

Ce que j'obtiens

Une belle erreur que je ne comprends pas !
Texte alternatif

Merci par avance pour votre aide :)

Grub


Viewing all articles
Browse latest Browse all 1542

Trending Articles