Вызов неопределенного метода Doctrine \ ORM \ QueryBuilder :: limit () - PullRequest
0 голосов
/ 28 января 2019

Вызов неопределенного метода Doctrine\ORM\QueryBuilder::limit()

Я выполнил поиск по связанным запросам, но не получил результатов

public function getAllCTCCompensationData($ouCode,$langCode)
    { 
    $queryBuilder = $this->entityManager->createQueryBuilder();
    $queryBuilder->select('ppp.payperiodSdesc, ppesa.grossPay, pptpp.pfEmployerContribution, pptpp.esiEmployerContribution, pplw.employercontribution')
        ->from(PyProcessEmpStatusApproved::class, 'ppesa')
        ->leftJoin(PyProcessTdsPfPt::class, 'pptpp', 'with', 'ppesa.ouCode = pptpp.ouCode')
        ->leftJoin(PyPayGroup::class, 'ppg', 'with', 'pptpp.pgCode = ppg.pgCode')
        ->leftJoin(PyProcessLabourWelfare::class, 'pplw', 'with', 'ppg.pgCode = pplw.pgCode')
        ->leftJoin(PyPayPeriod::class,'ppp','with','pplw.payperiodCode = ppp.payperiodCode')
        ->leftJoin(PyPayrollCalendar::class, 'ppc', 'with', 'ppp.paycalCode = ppc.paycalCode')
                ->where('ppesa.ouCode = ?1')
                ->andWhere('ppesa.langCode = ?2')
                ->setParameter('1','ouCode')
                ->setParameter('2','langCode')
                ->where('ppesa.ouCode','DESC')
                ->limit(20);

    $compData  = $queryBuilder->getQuery()->getResult();

    return $compData;

Я хочу применить условие ограничения в запросе.Как применить ограничение к запросу?

для справки. Используйте эту ссылку https://www.doctrine -project.org / projects / doctrine1 / en / latest / manual / dql-doctrine-query-language.html #операторы limit-and-offset

Почему говорится о неопределенном пределе метода?

1 Ответ

0 голосов
/ 28 января 2019

Используйте orderBy перед limit, я думаю, что это ошибка.

public function getAllCTCCompensationData($ouCode,$langCode)
{ 
    $queryBuilder = $this->entityManager->createQueryBuilder();
    $queryBuilder->select('ppp.payperiodSdesc, ppesa.grossPay, pptpp.pfEmployerContribution, pptpp.esiEmployerContribution, pplw.employercontribution')
        ->from(PyProcessEmpStatusApproved::class, 'ppesa')
        ->leftJoin(PyProcessTdsPfPt::class, 'pptpp', 'with', 'ppesa.ouCode = pptpp.ouCode')
        ->leftJoin(PyPayGroup::class, 'ppg', 'with', 'pptpp.pgCode = ppg.pgCode')
        ->leftJoin(PyProcessLabourWelfare::class, 'pplw', 'with', 'ppg.pgCode = pplw.pgCode')
        ->leftJoin(PyPayPeriod::class,'ppp','with','pplw.payperiodCode = ppp.payperiodCode')
        ->leftJoin(PyPayrollCalendar::class, 'ppc', 'with', 'ppp.paycalCode = ppc.paycalCode')
                ->where('ppesa.ouCode = ?1')
                ->andWhere('ppesa.langCode = ?2')
                ->setParameter('1','ouCode')
                ->setParameter('2','langCode')
                ->orderBy('ppesa.ouCode','DESC')
                ->limit(20);

    $compData  = $queryBuilder->getQuery()->getResult();

    return $compData;
}
...