zf2 Doctrine присоединился к сущностям результат не в одном объекте - PullRequest
0 голосов
/ 31 мая 2018

Когда я выполняю foreach, то в первой итерации я получаю объект строки таблицы r, а в следующей итерации я получаю объект строки таблицы кэша.Как только итерация строки таблицы ке завершена, в следующей итерации я получаю объект таблицы следующего ряда r, затем я получаю объект строки таблицы ке.Это мое репо.

public function getPagedSelfReview(array $criteria)
    {
        $query = $this->createQueryBuilder('r');
            $query ->select('r','ke')
                    ->leftJoin(
                        'User\Entity\KraEvaluation', 'ke', \Doctrine\ORM\Query\Expr\Join::WITH, 'r.id = ke.kraReview and ke.evaluatedBy = :userId'
                )
                    ->andWhere('r.user = :userId')
                    ->setMaxResults($criteria['limit'])
                    ->setFirstResult($criteria['offset'])
                    ->setParameter('userId', $criteria['userId'])
                    ;           
        $paginator = new Paginator( $query );
        return $paginator;
    }

Пример:

0 - table r first row
1 - table ke first row (based on join match with r first row's column)
2 - table ke Second row (based on join match with r first row's column)
3 - table r Second row
4 - table ke first row (based on join match with r second row's column)
5 - table ke Second row (based on join match with r second row's column)

и т. Д.

Нужно указать как

0 - array(
 0=>table r first row,
 1=> array(
   0=>table ke first row (based on join match with r first row's column),
   1=>table ke second row (based on join match with r first row's column)
  )
 )
1- array(
 0=>table r Second row,
 1=>array(
   0=>table ke first row (based on join match with r Second row's column),
   1=>table ke second row (based on join match with r Second row's column)
  )
 )
...