Bonjour à tous , je suis débutant et je dois développer une appli web permettant d'effectuer des recherches sur une base de consultants.
Voici mon schéma de modelisation des données que j'ai simplifié en 3 entités / tables :
La table Answer correspond aux réponses données par les consultants depuis un googleForm.
La table Skill regroupe les compétences liées à un consultant.
Entre les deux , j'ai une table qui sert de jointure ,j'ai donc appelé cette entité "Jointure".
Mon but final est de pouvoir filtrer les consultants ( via un bouton dropdown ) en fonction de leur compétences(skill=>label). Mais j'aimerais tout d'abord arriver à afficher les infos de tous les consultants ( son UserEmail et ses Skills ( propriété Label dans ma table Skill ).
J'ai alors créer mes 3 entités , avec comme relation ManyToOne de Skill et Answer vers Jointure.
Voici donc ma table Jointure après avoir fait la commande make:migration :
Ma table Skill ( même relation que ma table Answer vers jointure) :
Je souhaite donc afficher dans un template twig {% for jointures in jointure %} , ma liste de consultants et leur skills , par exemple : toto@gmail.com , CSS , HTML .
J'ai tenté un findAll() dans le controller :
Voici le résultat de mon dump, je n'accède pas aux propriétés de Skill et Answer..
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 class HomeController extends AbstractController { /** * @var JointureRepository */ public function __construct(JointureRepository $repository, ObjectManager $em) { $this->repository = $repository; $this->em = $em; } /** * @Route("/", name="home") */ public function index() { $repository = $this->getDoctrine()->getRepository(Jointure::class); $jointure = $repository->findAll(); $this->em->flush(); dump($jointure); return $this->render('pages/home.html.twig', [ 'controller_name' => 'HomeController', 'jointure' => $jointure, ]); } }
Pouvez-vous m'orienter vers la bonne pratique pour affiché des entités liées entre elle depuis un OneToMany svp ?
Merci d'avance !
Partager