在不同数组中返回连接查询的原则


Doctrine returning join query in different arrays

$query = $this->createQueryBuilder('p');
$query
    ->select('s', 'p')
    ->innerJoin(
        'test'Entity'ProductQuantity',
        's',
        'Doctrine'ORM'Query'Expr'Join::WITH,
        'p.sku = s.sku'
    )
    ->orderBy('p.productId', 'DESC');
return $query->getQuery()->getResult();

此查询必须返回 2 个表的结果,我得到的:

result = array(
[0] => 'table1',
[1]=> 'table2',
[2] => 'table1',
[3]=> 'table2',
)

为什么我在 2 个数组中得到 2 个表? 这是连接查询,它必须在 1 个数组中,如何将连接查询的结果合并到 1 个数组中并得到:

result = array(
[0] => 'table1table2',
[1] => 'table1table2',
)

您可以使用以下命令将结果作为数组获取:

$query->getQuery()->getScalarResult();

添加中的解决方案以选择所需的字段,然后结果为 1 个数组

    $query = $this->createQueryBuilder('p');
    $query
        ->select('p.sku', 's.quantity', 'p.priceAmount')
        ->innerJoin(
            'LeosEbayGateway'Entity'ProductQuantity',
            's',
            'Doctrine'ORM'Query'Expr'Join::WITH,
            'p.sku = s.sku'
        )
        ->orderBy('p.productId', 'DESC');
    return $query->getQuery()->getResult();

结果:

result = array(
[0] => 'table1table2',
[1] => 'table1table2',
)