Не могу добавитьSelect () с Join - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть запрос с Doctrine (и PHP Symfony Framework) - Результат массива :

$qb = $this->createQueryBuilder('t1', 't1.id')
     ->select('t1')
     ->where(...)
     ->getResults()

    // Return :

    158 => [
        "id" => 158
        "name" => "Test 1"
    ]
    157 => [
        "id" => 157
        "name" => "Test 2"
    ]

Я хочу присоединиться к таблице:

$qb->leftJoin(..., 't2', 'WITH', 't2 = ...');

Iдва успешных случая (у меня нет поля lastPost в таблице t1; Я просто хочу объединиться и получить поля ):

$qb->addSelect('t2.id AS t0.lastPost')

    // Return :

    158 => [
        0 => [
            "id" => 158
            "name" => "Test 1"
        ],
        "lastPost" => 161
    ]
    157 => [
        0 => [
            "id" => 157
            "name" => "Test 2"
        ],
        "lastPost" => 163
    ]

И:

$qb->addSelect('t2 AS t0.lastPost')

    // Return :

    158 => [
        0 => [
            "id" => 158
            "name" => "Test 1"
        ]
    ]
    159 => [
        "lastPost" => [
            "id" => 161,
            "name" => "Test 3"
        ]
    ]
    157 => [
        0 => [
            "id" => 157
            "name" => "Test 2"
        ]
    ]
    160 => [
        "lastPost" => [
            "id" => 163,
            "name" => "Test 4"
        ]
    ]

Но я не могу добавить lastPost к исходному массиву, например:

    158 => [
        0 => [
            "id" => 158
            "name" => "Test 1"
        ],
        "lastPost" => [
            "id" => 161,
            "name" => "Test 3"
        ]
    ]
    157 => [
        0 => [
            "id" => 157
            "name" => "Test 2"
        ],
        "lastPost" => [
            "id" => 163,
            "name" => "Test 4"
        ]
    ]

Можете ли вы помочь мне понять это?Извините за мой плохой английский, я французский :) 1026 *

...