Bonjour,

Je débute en développement web et j'ai un projet en SYMFONY5 à faire ou un utilisateur peut refuser un ou plusieurs dossiers, et un dossier peut être refusé par plusieurs utilisateurs. L'objectif étant d'afficher les dossiers qui n'ont pas été refusé par un l'utilisateur connecté. Pour cela j'ai décidé de créer une entité 'REFUSER' qui contient juste un ID et qui est en relation ManyToMany avec User et Dossier (qui sont d'ailleurs eux aussi en ManyToMany entre eux). Mais avec Doctrine et egalement en SQL je n'arrive pas à récuperer les dosssiers qui ont un ID refuser qui ont également un idUser. Je suis perdu et je n'arrive pas, ai-je bien fait de créer une entité 'REFUSER' ? la relation est-elle bonne ? Comment puis-je faire faire avoir une requete qui me permettrait de faire ce que je souhaite ?

1 réponse


Bonjour,

De mon point de vue je ferais 3 entités avec les liaisons suivantes :
User <OneToMany> UserDossier <ManyToOne> Dossier
Et comme cela, dans UserDossier tu peux indiquer l'id du dossier, de l'utilisateur et un booléen "refus"

Ensuite, pour avoir les dossiers refusés , tu fais une requete comme "select ud.id_user from UserDossier ud join Dossier d on ud.id_dossier = d.id where ud.refus = true" je met ça en sql car c'est plus simple pour moi, j'espère que c'est clair sur le principe...