0
我遇到问题,正确设置了我的Doctrine请求。我有两个表(PROPRIETE和PHOTO),一个PROPRIETE可以有很多PHOTOSymfony2 - 学说 - 加入2个表格
因此,我想做一个SELECT将返回一个PROPRIETE数组,其中包含它自己的PHOTO数组(不是肯定我是否清楚,虽然...)
这是我的Popriete类是什么样子
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;
然后是图片类
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;
最后,我的原则要求(即成功返回Propriete的名单,但对他们的相片没有)
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();
}
我已经与leftJoin试过,但似乎我不知道如何使用东西... 谢谢你们的帮助
如果调用方法'getPhoto()'任何返回'PROPRIETE'值的,你明白了'PHOTO'阵列? –