Je rencontre des problèmes lors de la configuration correcte de ma requête Doctrine. J'ai deux tables (PROPRIETE et PHOTO), une PROPRIETE peut avoir beaucoup PHOTOSymfony2 - Doctrine - Joindre 2 tables
Par conséquent, je voudrais faire un SELECT qui retournera un tableau de PROPRIETE où l'on inclut un tableau de ses propres PHOTO (pas que si je suis clair si ...)
C'est ce que ma classe Popriete ressemble
class Propriete
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="libelle", type="string", length=255)
*/
private $libelle;
/**
* @ORM\ManyToOne(targetEntity="VillaPrivee\UserBundle\Entity\User")
* @ORM\JoinColumn(onDelete="CASCADE")
*/
private $proprietaire;
/**
* @ORM\OneToMany(targetEntity="VillaPrivee\MainBundle\Entity\Photo", mappedBy="propriete")
*/
private $photo;
Et puis la classe photo
class Photo
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="path", type="string", length=255)
*/
private $path;
/**
* @ORM\ManyToOne(targetEntity="VillaPrivee\MainBundle\Entity\Propriete")
* @ORM\JoinColumn(onDelete="CASCADE")
*/
private $propriete;
Et enfin, ma demande de doctrine (qui retourne avec succès une liste de Propriete, mais rien sur leurs photos)
public function getProprietesByCriteria($ville, $rooms) {
$qb = $this->createQueryBuilder('p');
$qb->where('p.commune = :ville AND p.nbChambres >= :rooms')
->setParameter('ville', $ville)
->setParameter('rooms', $rooms);
return $qb->getQuery()->getResult();
}
J'ai essayé avec un leftJoin, mais il semble que je ne sais pas comment l'utiliser trucs ... Merci les gars pour votre aide
Si vous invoquez la méthode 'Getphoto()' sur l'un des retournés 'valeurs PROPRIETE', vous obtenez le VARIABLES' PHOTO'? –