I have a product entity in which it has an array as attributes:
/**
* @ORM\\OneToMany(targetEntity=\"Shopious\\MainBundle\\Entity\\ProductPicture\"
Add a custom repository method with the DQL for your entity, then call it from the controller
You can name the repository method whatever you want, for this example I'm using findProductWithPicture
class ProductRepository extends EntityRepository
{
/**
* @param integer $id
*/
public function findProductWithPicture($id)
{
$dql = <<_em->createQuery($dql)->setParameter('picture_id', $id);
return $query->setMaxResults(1)->getResult();
}
}
To use this from the controller
$em = $this->getDoctrine()->getManager();
$product = $em->getRepository('ShopiousMainBundle:Product')->findProductWithPicture($id);
return $this->render('ShopiousMainBundle:Product:show.html.twig', array(
'product' => $product[0]
));
In the rendered Twig template, you can access them like so
{{ product.id }}
{{ product.name }}
{{ product.picture.whatever_property }}