2017-08-09 88 views
0

我想要計算預填充的工資覈算周的開始日期和結束日期與輸入的工資覈算周的開始日期和結束日期相匹配的行數。計算與工資覈算期間相關的工資單週的行數

我有什麼至今:

return $this->_em ->createQuery(' SELECT pw FROM comtwclagripayrollBundle:Payrollweek pw WHERE pw.startdate = :startdate AND pw.enddate <= :enddate ') 
      ->setParameter('startdate', $startdate) 
      ->setParameter('enddate', $enddate) 
      ->getResult(); 
+0

我至今返回$此 - > _ EM - >的createQuery(」 選擇用PW comtwclagripayrollBundle:Payrollweek PW WHERE pw.startdate =:STARTDATE 和pw.enddate <=:結束日期 ') - > setParameter('startdate',$ startdate) - > setParameter('enddate',$ enddate) - > getResult(); } – Sue

回答

0

添加COUNT到您的查詢,並通過一個大於或等於比較更換平等的第一次約會。

請注意,您可以使用BETWEEN而不是此雙重比較。

return $this->_em ->createQueryBuilder() 
      ->select('COUNT(pw)') 
      ->from('comtwclagripayrollBundle:Payrollweek', 'pw') 
      ->where('pw.startdate >= :startdate AND pw.enddate <= :enddate ') 
      ->setParameter('startdate', $startdate) 
      ->setParameter('enddate', $enddate) 
      ->getQuery() 
      ->getOneOrNullResult(); 
+0

如果兩個結果getOneorNullResult()仍然有效,該怎麼辦 – Sue

+0

「COUNT」最多返回1個結果。 – Veve

+0

我收到一個錯誤,說錯誤:調用一個成員函數setPayrollperiodid()在字符串@這行在控制器** $ pWeek-> setPayrollperiodid($ entity); ** – Sue