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'陣列? –