J'ai un problème de doctrine avec une relation ManyToMany. Basiquement, j'ai une entity User qui a une relation OneToMany vers une entity Journey qui a une relation ManyToMany vers l'entity Fly. J'ai donc créer un jeu de données, cependant, impossible d'accéder aux vols liés à un voyage et inversement. La table d'association est bien créée et les données sont bien présente.
Plus précisement, j'appelle tous les journeys liés à un User que j'affiche sur une vue grâce à un dump mais rien n'apparait.
Entity Journey
<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\JourneyRepository")
*/
class Journey
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="journeys")
* @ORM\JoinColumn(nullable=false)
*/
private $Owner;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Fly", inversedBy="journeys")
*/
private $flies;
...
}
Je vais essayer d'être le plus clair possible pour répondre à ta question sur le bi directionnel.
Admettons qu'un utilisateur puisse ajouter un vol et qu'à partir d'un vol tu puisses ajouter un utilisateur dans ce cas tu utiliseras le bi directionnel. Par contre si tu associe un utilisateur a un vol mais jamais dans lautre sens lunidirectionel suffit. Donc c'est toi qui décide en fonction des besoins "metier".
Maintenant pour récupérer les flies simple ;-) tu as une relation entre journeys et flies. Donc un join te permettra de récupérer les flies puis un where journey.owner = :user.
J'espère avoir répondu à toutes tes questions.
À +
" Celui qui aime à apprendre est bien près du savoir " Confucius
[Symfony] Problèmes de ManyToMany
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Site les mathématiques amusantes pour vous détendre
" Celui qui aime à apprendre est bien près du savoir " Confucius
" Celui qui aime à apprendre est bien près du savoir " Confucius