【发布时间】:2019-04-07 18:38:43
【问题描述】:
我的主要实体 poi 与我的其他两个实体 people 和 places 有两个 OneToOne 关系。
App/Entity/People.php
class People
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\OneToOne(targetEntity="App\Entity\Poi", cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=false)
*/
private $poi;
App/Entity/Places.php
class Places
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\OneToOne(targetEntity="App\Entity\Poi", cascade={"persist", "remove"})
*/
private $poi;
现在我需要将 people 和 places 放在同一个数组或其他东西中。我是通过合并两个查询得到的:
$query = $entityManager->createQuery('select p from App:People p'); //same for places then merge in array...
问:有没有办法用一个 DQL 查询获得相同的结果? (特别是如果实体没有相同的列)。
【问题讨论】:
标签: symfony doctrine-orm dql