Когда я выполняю 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)
)
)