Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用条令查询生成器生成普通表,实体之间不存在关系_Php_Symfony_Doctrine Orm - Fatal编程技术网

Php 使用条令查询生成器生成普通表,实体之间不存在关系

Php 使用条令查询生成器生成普通表,实体之间不存在关系,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我对symfony和doctrine有一个反复出现的问题。 我必须在另一个应用程序的数据库中玩,所以我不能设置实体之间的关系 当我想对某些表执行左连接时,会返回一种奇怪的数据格式,如: array[0] => first entity array[1] => fisrt joined entity array[2] => second entity array[3] => second joined entity ... 我只想: array[0] => obje

我对symfony和doctrine有一个反复出现的问题。 我必须在另一个应用程序的数据库中玩,所以我不能设置实体之间的关系

当我想对某些表执行左连接时,会返回一种奇怪的数据格式,如:

array[0] => first entity
array[1] => fisrt joined entity
array[2] => second entity
array[3] => second joined entity
...
我只想:

array[0] => object(id, name, joined entity).... 
我怎么能那样做呢

以下是我的要求之一:

   $qb = $this->createQueryBuilder('o')->select('o, childs');

       $qb->where('o.unitid = :unitid')
                     ->setParameter('unitid', $unitid);

        $qb->leftJoin(
        '\Entity\Objectconnectors',
        'oc',
        \Doctrine\ORM\Query\Expr\Join::WITH,
        'oc.parentkey = o.key'
)
           ->leftJoin(
        '\Entity\Objects',
        'childs',
        \Doctrine\ORM\Query\Expr\Join::WITH,
        'oc.childkey = childs.key'
);





         return  $qb->getQuery()
                    ->getResult();

提前感谢您,

您必须在类中定义关系才能做到这一点,否则,由于类未定义此关联,doctrine无法将数据添加到实体对象

可能是
本机SQL
?现在这是我找到的唯一解决办法。我认为索引可以做任何事情,但是我没有使用它。这正是我不能做的。你为什么不能这样做?您请求的对象(id、名称、联接实体)已联接实体定义,您必须将此对象写入存档,我对此感到害怕,因为我无法修改第二个数据库。我可以以只读方式访问它。如果我设置条令关系会有什么后果?你不会修改数据库,只在类中定义关联。记住检查答案!!:)