Salut, je crée deux entités matche et equipe et je fais la relation entre les 2 entités , j'écrit 2 attributs equipe1 et equipe2 dans l'entité match qui relié avec entité equipe
Maintenant j'ajoute match entre 2 equipes mais je trouve un probléme quand peut accés à l'image c'est à dire peut acceder à la nom de l'equipe mais je ne pas accéder à l'image .

Comment peut accéder à l'image c'est à dire quand il ajoute deux équipes et quand il affiche ce match entre 2 équipes comment accéder l'image de l'équipe
voici code de deux entités:

Matche.php

    <?php

    namespace CrudBundle\Entity;

    use Doctrine\ORM\Mapping as ORM;
    use Symfony\Component\Validator\Constraints as Assert;
    use Symfony\Component\HttpFoundation\File\UploadedFile;
    use Doctrine\Common\Collections\ArrayCollection;

    /**
     * Matche
     *
     * @ORM\Table()
     * @ORM\Entity(repositoryClass="CrudBundle\Entity\MatcheRepository")
     */
    class Matche
    {
        /**
         * @var integer
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        private $id;

        /**
         * @var string
         *
         * @ORM\Column(name="resultat_match", type="string", length=255)
         */
        private $resultatMatch;

        /**
         * @var string
         *
         * @ORM\Column(name="nom_stade", type="string", length=255)
         */
        private $nomStade;

         /**
         * @ORM\Column(type="string", length=255, nullable=true)
         */
        public $path;

         /**
         * @Assert\File(maxSize="6000000")
         */
        private $file;

          /**
         * @ORM\OneToMany(targetEntity="CrudBundle\Entity\Competition",mappedBy="matchs")
        */
        private $competition;

        /**
         * @ORM\OneToMany(targetEntity="CrudBundle\Entity\Stade",mappedBy="matche")
        */
        private $stade;

         /**
         * @ORM\OneToMany(targetEntity="CrudBundle\Entity\Matchequipe",mappedBy="match")
        */
        private $matchequip;

        public function __construct() {

            $this->competition = new \Doctrine\Common\Collections\ArrayCollection();
            $this->stade = new \Doctrine\Common\Collections\ArrayCollection();
            $this->matchequip = new \Doctrine\Common\Collections\ArrayCollection();
        }

         /**
         * @ORM\ManyToOne(targetEntity="Video",inversedBy="match")
         * @ORM\JoinColumn(name="id_video", referencedColumnName="id")
         */
        private $video;

        /**
         * @ORM\ManyToOne(targetEntity="Photo",inversedBy="match")
         * @ORM\JoinColumn(name="id_photo", referencedColumnName="id")
         */
        private $photo;

         /**
         * @ORM\ManyToOne(targetEntity="Article",inversedBy="match")
         * @ORM\JoinColumn(name="id_article", referencedColumnName="id")
         */
        private $articles;

        /**
         * @ORM\ManyToOne(targetEntity="Actualite",inversedBy="match")
         * @ORM\JoinColumn(name="id_actualite", referencedColumnName="id")
         */
        private $actualites;

         /**
         * @ORM\ManyToOne(targetEntity="Equipe",inversedBy="match1")
         * @ORM\JoinColumn(name="id_equipe1", referencedColumnName="id")
         */
        private $equipe1;

         /**
         * @ORM\ManyToOne(targetEntity="Equipe",inversedBy="match2")
         * @ORM\JoinColumn(name="id_equipe2", referencedColumnName="id")
         */
        private $equipe2;

        /**
         * Get id
         *
         * @return integer 
         */
        public function getId()
        {
            return $this->id;
        }

        /**
         * Set resultatMatch
         *
         * @param string $resultatMatch
         * @return Matche
         */
        public function setResultatMatch($resultatMatch)
        {
            $this->resultatMatch = $resultatMatch;

            return $this;
        }

        /**
         * Get resultatMatch
         *
         * @return string 
         */
        public function getResultatMatch()
        {
            return $this->resultatMatch;
        }

        /**
         * Set nomStade
         *
         * @param string $nomStade
         * @return Matche
         */
        public function setNomStade($nomStade)
        {
            $this->nomStade = $nomStade;

            return $this;
        }

        /**
         * Get nomStade
         *
         * @return string 
         */
        public function getNomStade()
        {
            return $this->nomStade;
        }  

        public function getAbsolutePath()
        {
            return null === $this->path
                ? null
                : $this->getUploadRootDir().'/'.$this->path;
        }

        public function getWebPath()
        {
            return null === $this->path
                ? null
                : $this->getUploadDir().'/'.$this->path;
        }

        protected function getUploadRootDir()
        {
            // the absolute directory path where uploaded
            // documents should be saved
            return __DIR__.'/../../../web/'.$this->getUploadDir();
        }

        protected function getUploadDir()
        {
            // get rid of the __DIR__ so it doesn't screw up
            // when displaying uploaded doc/image in the view.
            return 'uploads/matche';
        }

        /**
         * Sets file.
         *
         * @param UploadedFile $file
         */
            public function setFile(UploadedFile $file = null)
        {
            $this->file = $file;
        }

        /**
         * Get file.
         *
         * @return UploadedFile
         */
        public function getFile()
        {
            return $this->file;
        }

        public function upload()
    {
        // the file property can be empty if the field is not required
        if (null === $this->getFile()) {
            return;
        }

        // use the original file name here but you should
        // sanitize it at least to avoid any security issues

        // move takes the target directory and then the
        // target filename to move to
        $this->getFile()->move(
            $this->getUploadRootDir(),
            $this->getFile()->getClientOriginalName()
        );

        // set the path property to the filename where you've saved the file
        $this->path = $this->getFile()->getClientOriginalName();

        // clean up the file property as you won't need it anymore
        $this->file = null;
    }

        /**
         * Set path
         *
         * @param string $path
         * @return Matche
         */
        public function setPath($path)
        {
            $this->path = $path;

            return $this;
        }

        /**
         * Get path
         *
         * @return string 
         */
        public function getPath()
        {
            return $this->path;
        }

        /**
         * Add competition
         *
         * @param \CrudBundle\Entity\Competition $competition
         * @return Matche
         */
        public function addCompetition(\CrudBundle\Entity\Competition $competition)
        {
            $this->competition[] = $competition;

            return $this;
        }

        /**
         * Remove competition
         *
         * @param \CrudBundle\Entity\Competition $competition
         */
        public function removeCompetition(\CrudBundle\Entity\Competition $competition)
        {
            $this->competition->removeElement($competition);
        }

        /**
         * Get competition
         *
         * @return \Doctrine\Common\Collections\Collection 
         */
        public function getCompetition()
        {
            return $this->competition;
        }

        /**
         * Add stade
         *
         * @param \CrudBundle\Entity\Stade $stade
         * @return Matche
         */
        public function addStade(\CrudBundle\Entity\Stade $stade)
        {
            $this->stade[] = $stade;

            return $this;
        }

        /**
         * Remove stade
         *
         * @param \CrudBundle\Entity\Stade $stade
         */
        public function removeStade(\CrudBundle\Entity\Stade $stade)
        {
            $this->stade->removeElement($stade);
        }

        /**
         * Get stade
         *
         * @return \Doctrine\Common\Collections\Collection 
         */
        public function getStade()
        {
            return $this->stade;
        }

        /**
         * Set video
         *
         * @param \CrudBundle\Entity\Video $video
         * @return Matche
         */
        public function setVideo(\CrudBundle\Entity\Video $video = null)
        {
            $this->video = $video;

            return $this;
        }

        /**
         * Get video
         *
         * @return \CrudBundle\Entity\Video 
         */
        public function getVideo()
        {
            return $this->video;
        }

        /**
         * Set articles
         *
         * @param \CrudBundle\Entity\Article $articles
         * @return Matche
         */
        public function setArticles(\CrudBundle\Entity\Article $articles = null)
        {
            $this->articles = $articles;

            return $this;
        }

        /**
         * Get articles
         *
         * @return \CrudBundle\Entity\Article 
         */
        public function getArticles()
        {
            return $this->articles;
        }

        /**
         * Set actualites
         *
         * @param \CrudBundle\Entity\Actualite $actualites
         * @return Matche
         */
        public function setActualites(\CrudBundle\Entity\Actualite $actualites = null)
        {
            $this->actualites = $actualites;

            return $this;
        }

        /**
         * Get actualites
         *
         * @return \CrudBundle\Entity\Actualite 
         */
        public function getActualites()
        {
            return $this->actualites;
        }

        /**
         * Add matchequip
         *
         * @param \CrudBundle\Entity\Matchequipe $matchequip
         * @return Matche
         */
        public function addMatchequip(\CrudBundle\Entity\Matchequipe $matchequip)
        {
            $this->matchequip[] = $matchequip;

            return $this;
        }

        /**
         * Remove matchequip
         *
         * @param \CrudBundle\Entity\Matchequipe $matchequip
         */
        public function removeMatchequip(\CrudBundle\Entity\Matchequipe $matchequip)
        {
            $this->matchequip->removeElement($matchequip);
        }

        /**
         * Get matchequip
         *
         * @return \Doctrine\Common\Collections\Collection 
         */
        public function getMatchequip()
        {
            return $this->matchequip;
        }

        /**
         * Set photo
         *
         * @param \CrudBundle\Entity\Photo $photo
         * @return Matche
         */
        public function setPhoto(\CrudBundle\Entity\Photo $photo = null)
        {
            $this->photo = $photo;

            return $this;
        }

        /**
         * Get photo
         *
         * @return \CrudBundle\Entity\Photo 
         */
        public function getPhoto()
        {
            return $this->photo;
        }

        /**
         * Set equipe1
         *
         * @param \CrudBundle\Entity\Equipe $equipe1
         * @return Matche
         */
        public function setEquipe1(\CrudBundle\Entity\Equipe $equipe1 = null)
        {
            $this->equipe1 = $equipe1;

            return $this;
        }

        /**
         * Get equipe1
         *
         * @return \CrudBundle\Entity\Equipe 
         */
        public function getEquipe1()
        {
            return $this->equipe1;
        }

        /**
         * Set equipe2
         *
         * @param \CrudBundle\Entity\Equipe $equipe2
         * @return Matche
         */
        public function setEquipe2(\CrudBundle\Entity\Equipe $equipe2 = null)
        {
            $this->equipe2 = $equipe2;

            return $this;
        }

        /**
         * Get equipe2
         *
         * @return \CrudBundle\Entity\Equipe 
         */
        public function getEquipe2()
        {
            return $this->equipe2;
        }
    }

code entité equipe :

    <?php

    namespace CrudBundle\Entity;

    use Doctrine\ORM\Mapping as ORM;
    use Symfony\Component\Validator\Constraints as Assert;
    use Symfony\Component\HttpFoundation\File\UploadedFile;
    use Doctrine\Common\Collections\ArrayCollection;
    use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

    /**
     * Equipe
     *
     * @ORM\Table()
     * @ORM\Entity(repositoryClass="CrudBundle\Entity\EquipeRepository")
     * @UniqueEntity("nomEquipe", message=" Une équipe existe déjà avec ce nom.")
     */
    class Equipe
    {
        /**
         * @var integer
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        private $id;

        /**
         * @var string
         * @ORM\Column(name="nom_equipe", type="string", length=255, unique=true)
         */

        private $nomEquipe;

         /**
         * @ORM\Column(type="string", length=255, nullable=true)
         */
        public $path;

         /**
         * @Assert\File(maxSize="6000000")
         */
        private $file;

        /**
         * @var string
         *
         * @ORM\Column(name="contenu_equipe", type="string", length=255)
         */
        private $contenuEquipe;

        /**
         * @ORM\OneToMany(targetEntity="CrudBundle\Entity\Joueur",mappedBy="equipes")
        */
        private $joueurs;

         /**
         * @ORM\OneToMany(targetEntity="CrudBundle\Entity\Matchequipe",mappedBy="equipe")
        */
        private $matchequip;

        /**
         * @ORM\OneToMany(targetEntity="CrudBundle\Entity\Matche",mappedBy="equipe1")
        */
        private $match1;

        /**
         * @ORM\OneToMany(targetEntity="CrudBundle\Entity\Matche",mappedBy="equipe2")
        */
        private $match2;

        public function __construct() {

            $this->joueurs = new \Doctrine\Common\Collections\ArrayCollection();
            $this->matchequip = new \Doctrine\Common\Collections\ArrayCollection();
            $this->match1 = new \Doctrine\Common\Collections\ArrayCollection(); 
            $this->match2 = new \Doctrine\Common\Collections\ArrayCollection(); 
        }

         /**
         * @ORM\ManyToOne(targetEntity="Article",inversedBy="equipe")
         * @ORM\JoinColumn(name="id_article", referencedColumnName="id")
         */
        private $articles;

        /**
         * @ORM\ManyToOne(targetEntity="Actualite",inversedBy="equipe")
         * @ORM\JoinColumn(name="id_actualite", referencedColumnName="id")
         */
        private $actualites;

        /**
         * @ORM\ManyToOne(targetEntity="Palmares",inversedBy="equipe")
         * @ORM\JoinColumn(name="id_palmares", referencedColumnName="id")
         */
        private $palmares;

        /**
         * @ORM\ManyToOne(targetEntity="Staffmedical",inversedBy="equipe")
         * @ORM\JoinColumn(name="id_staffmedical", referencedColumnName="id")
         */
        private $staffmedical;

         /**
         * @ORM\ManyToOne(targetEntity="Stafftechnique",inversedBy="equipe")
         * @ORM\JoinColumn(name="id_stafftechnique", referencedColumnName="id")
         */
        private $stafftechnique;

        /**
         * @ORM\ManyToOne(targetEntity="Video",inversedBy="equipe")
         * @ORM\JoinColumn(name="id_video", referencedColumnName="id")
         */
        private $video;

        /**
         * @ORM\ManyToOne(targetEntity="Photo",inversedBy="equipe")
         * @ORM\JoinColumn(name="id_photo", referencedColumnName="id")
         */
        private $photo;

        /**
         * Get id
         *
         * @return integer 
         */
        public function getId()
        {
            return $this->id;
        }

      public function getAbsolutePath()
        {
            return null === $this->path
                ? null
                : $this->getUploadRootDir().'/'.$this->path;
        }

        public function getWebPath()
        {
            return null === $this->path
                ? null
                : $this->getUploadDir().'/'.$this->path;
        }

        protected function getUploadRootDir()
        {
            // the absolute directory path where uploaded
            // documents should be saved
            return __DIR__.'/../../../web/'.$this->getUploadDir();
        }

        protected function getUploadDir()
        {
            // get rid of the __DIR__ so it doesn't screw up
            // when displaying uploaded doc/image in the view.
            return 'uploads/equipe';
        }

        /**
         * Sets file.
         *
         * @param UploadedFile $file
         */
            public function setFile(UploadedFile $file = null)
        {
            $this->file = $file;
        }

        /**
         * Get file.
         *
         * @return UploadedFile
         */
        public function getFile()
        {
            return $this->file;
        }

        public function upload()
    {
        // the file property can be empty if the field is not required
        if (null === $this->getFile()) {
            return;
        }

        // use the original file name here but you should
        // sanitize it at least to avoid any security issues

        // move takes the target directory and then the
        // target filename to move to
        $this->getFile()->move(
            $this->getUploadRootDir(),
            $this->getFile()->getClientOriginalName()
        );

        // set the path property to the filename where you've saved the file
        $this->path = $this->getFile()->getClientOriginalName();

        // clean up the file property as you won't need it anymore
        $this->file = null;
    }

        /**
         * Set path
         *
         * @param string $path
         * @return Article
         */
        public function setPath($path)
        {
            $this->path = $path;

            return $this;
        }

        /**
         * Get path
         *
         * @return string 
         */
        public function getPath()
        {
            return $this->path;
        }

         /**
         * Set nomEquipe
         *
         * @param string $nomEquipe
         * @return Equipe
         */
        public function setNomEquipe($nomEquipe)
        {
            $this->nomEquipe = $nomEquipe;

            return $this;
        }

        /**
         * Get nomEquipe
         *
         * @return string 
         */
        public function getNomEquipe()
        {
            return $this->nomEquipe;
        }

        /**
         * Set contenuEquipe
         *
         * @param string $contenuEquipe
         * @return Equipe
         */
        public function setContenuEquipe($contenuEquipe)
        {
            $this->contenuEquipe = $contenuEquipe;

            return $this;
        }

        /**
         * Get contenuEquipe
         *
         * @return string 
         */
        public function getContenuEquipe()
        {
            return $this->contenuEquipe;
        }

        /**
         * Add joueurs
         *
         * @param \CrudBundle\Entity\Joueur $joueurs
         * @return Equipe
         */
        public function addJoueur(\CrudBundle\Entity\Joueur $joueurs)
        {
            $this->joueurs[] = $joueurs;

            return $this;
        }

        /**
         * Remove joueurs
         *
         * @param \CrudBundle\Entity\Joueur $joueurs
         */
        public function removeJoueur(\CrudBundle\Entity\Joueur $joueurs)
        {
            $this->joueurs->removeElement($joueurs);
        }

        /**
         * Get joueurs
         *
         * @return \Doctrine\Common\Collections\Collection 
         */
        public function getJoueurs()
        {
            return $this->joueurs;
        }

        /**
         * Set articles
         *
         * @param \CrudBundle\Entity\Article $articles
         * @return Equipe
         */
        public function setArticles(\CrudBundle\Entity\Article $articles = null)
        {
            $this->articles = $articles;

            return $this;
        }

        /**
         * Get articles
         *
         * @return \CrudBundle\Entity\Article 
         */
        public function getArticles()
        {
            return $this->articles;
        }

        /**
         * Set actualites
         *
         * @param \CrudBundle\Entity\Actualite $actualites
         * @return Equipe
         */
        public function setActualites(\CrudBundle\Entity\Actualite $actualites = null)
        {
            $this->actualites = $actualites;

            return $this;
        }

        /**
         * Get actualites
         *
         * @return \CrudBundle\Entity\Actualite 
         */
        public function getActualites()
        {
            return $this->actualites;
        }

        /**
         * Set palmares
         *
         * @param \CrudBundle\Entity\Palmares $palmares
         * @return Equipe
         */
        public function setPalmares(\CrudBundle\Entity\Palmares $palmares = null)
        {
            $this->palmares = $palmares;

            return $this;
        }

        /**
         * Get palmares
         *
         * @return \CrudBundle\Entity\Palmares 
         */
        public function getPalmares()
        {
            return $this->palmares;
        }

        /**
         * Set staffmedical
         *
         * @param \CrudBundle\Entity\Staffmedical $staffmedical
         * @return Equipe
         */
        public function setStaffmedical(\CrudBundle\Entity\Staffmedical $staffmedical = null)
        {
            $this->staffmedical = $staffmedical;

            return $this;
        }

        /**
         * Get staffmedical
         *
         * @return \CrudBundle\Entity\Staffmedical 
         */
        public function getStaffmedical()
        {
            return $this->staffmedical;
        }

        /**
         * Set stafftechnique
         *
         * @param \CrudBundle\Entity\Stafftechnique $stafftechnique
         * @return Equipe
         */
        public function setStafftechnique(\CrudBundle\Entity\Stafftechnique $stafftechnique = null)
        {
            $this->stafftechnique = $stafftechnique;

            return $this;
        }

        /**
         * Get stafftechnique
         *
         * @return \CrudBundle\Entity\Stafftechnique 
         */
        public function getStafftechnique()
        {
            return $this->stafftechnique;
        }

        /**
         * Set video
         *
         * @param \CrudBundle\Entity\Video $video
         * @return Equipe
         */
        public function setVideo(\CrudBundle\Entity\Video $video = null)
        {
            $this->video = $video;

            return $this;
        }

        /**
         * Get video
         *
         * @return \CrudBundle\Entity\Video 
         */
        public function getVideo()
        {
            return $this->video;
        }

        /**
         * Add matchequip
         *
         * @param \CrudBundle\Entity\Matchequipe $matchequip
         * @return Equipe
         */
        public function addMatchequip(\CrudBundle\Entity\Matchequipe $matchequip)
        {
            $this->matchequip[] = $matchequip;

            return $this;
        }

        /**
         * Remove matchequip
         *
         * @param \CrudBundle\Entity\Matchequipe $matchequip
         */
        public function removeMatchequip(\CrudBundle\Entity\Matchequipe $matchequip)
        {
            $this->matchequip->removeElement($matchequip);
        }

        /**
         * Get matchequip
         *
         * @return \Doctrine\Common\Collections\Collection 
         */
        public function getMatchequip()
        {
            return $this->matchequip;
        }

        /**
         * Set photo
         *
         * @param \CrudBundle\Entity\Photo $photo
         * @return Equipe
         */
        public function setPhoto(\CrudBundle\Entity\Photo $photo = null)
        {
            $this->photo = $photo;

            return $this;
        }

        /**
         * Get photo
         *
         * @return \CrudBundle\Entity\Photo 
         */
        public function getPhoto()
        {
            return $this->photo;
        }

        /**
         * Add match1
         *
         * @param \CrudBundle\Entity\Matche $match1
         * @return Equipe
         */
        public function addMatch1(\CrudBundle\Entity\Matche $match1)
        {
            $this->match1[] = $match1;

            return $this;
        }

        /**
         * Remove match1
         *
         * @param \CrudBundle\Entity\Matche $match1
         */
        public function removeMatch1(\CrudBundle\Entity\Matche $match1)
        {
            $this->match1->removeElement($match1);
        }

        /**
         * Get match1
         *
         * @return \Doctrine\Common\Collections\Collection 
         */
        public function getMatch1()
        {
            return $this->match1;
        }

        /**
         * Add match2
         *
         * @param \CrudBundle\Entity\Matche $match2
         * @return Equipe
         */
        public function addMatch2(\CrudBundle\Entity\Matche $match2)
        {
            $this->match2[] = $match2;

            return $this;
        }

        /**
         * Remove match2
         *
         * @param \CrudBundle\Entity\Matche $match2
         */
        public function removeMatch2(\CrudBundle\Entity\Matche $match2)
        {
            $this->match2->removeElement($match2);
        }

        /**
         * Get match2
         *
         * @return \Doctrine\Common\Collections\Collection 
         */
        public function getMatch2()
        {
            return $this->match2;
        }

      }

coed match.twig.html:

    <h1>Liste des Matchs</h1>

    <table>
        <thead>
        <th>nom stade </th>
        <th>resultat </th>
        <th>Equipe 1 </th>
        <th>Equipe 2 </th>
        <th>image Match </th>
        </thead>
        <tbody>

    {% for matc in matche %}
        <tr><td> {{ matc.nomStade }}</td>
            <td>{{ matc.resultatMatch }}</td>
            <td>{{ matc.getEquipe1().getNomEquipe() }}</td>
            <td>{{ matc.getEquipe2().getNomEquipe() }}</td>
            <td><img style="width:400px; height:400px;" src="{{ asset('uploads/equipe/'~matc.path)  }}" 

        </tr>
    {% endfor %}
    </tbody>
    </table>

Aucune réponse