gpt4 book ai didi

mysql - Symfony2 - Doctrine - 连接 2 个表

转载 作者:行者123 更新时间:2023-11-30 00:10:05 25 4
gpt4 key购买 nike

我在正确设置我的 Doctrine 请求时遇到问题。我有两张 table (PROPRIETE和PHOTO),一张PROPRIETE可以有很多PHOTO

因此,我想创建一个 SELECT 来返回一个 PROPRIETE 数组,其中哪个数组包含它自己的照片数组(但不确定我是否清楚......)

这就是我的 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;

最后,我的 Doctrine 请求(成功返回 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,但似乎我不知道如何使用那个东西......谢谢大家的帮助

最佳答案

我认为您在代码中混合了不同的概念。使用Doctrine,您应该忘记尝试通过查询获取多个数组。

您只需在任何 propriete 对象上调用 getPhoto() 方法即可。

因此,您可以使用类似于以下的代码:

$props = $this->getProprietesByCriteria($ville, $rooms);
foreach($props as $prop)
{
$prop->getPhoto(); // <--will return an array of the `PHOTO` related to this `PROPIETE`
}

关于mysql - Symfony2 - Doctrine - 连接 2 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24141089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com