J'ai une entité article et une autre entité Image avec une relation bidrectional OneToMany et ManyToOne:Quelle est la meilleure solution pour obtenir l'entité que je veux dans une relation OneToMany biderectional?
class Article
{
/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Image", mappedBy="article")
*/
private $images;
}
class Image
{
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Article", inversedBy="images")
* @ORM\JoinColumn(nullable=true)
*/
private $article;
}
Dans mon contrôleur j'utilise @paramconverter pour obtenir l'article que je veux:
/**
* @Route("/blog/{slug}", name="article")
* @ParamConverter("article", class="AppBundle:Article")
*/
public function articleAction(Article $article)
{
return $this->render('default/article.html.twig', array(
'article' => $article,
));
}
Maintenant, mon Le problème est que je veux identifier la seule image avec les attributs "main = true" dans tous les "article.images" que j'ai.
Quelle est la meilleure solution?
Dans mon wiew je peux faire somehting comme ça, mais ce n'est pas le meilleur que je pense:
{% for image in article.images %}
{% if image.main %}
<img src="{{ asset(image.src) }}" alt="{{ image.alt }}" title="{{ image.title }}">
{% endif %}
{% endfor %}
Je voudrais utiliser quelque chose comme:
{{ article.mainImg }}
Comment puis-je obtenir Ceci s'il vous plaît? Et est-ce la meilleure solution?
Parfait merci! Je suis toujours un débutant Symfony et je ne connaissais pas grand-chose à ce genre de choses, je vais essayer de m'améliorer dans ce domaine :) Merci encore;) –