2014-09-04 82 views
0

我只想獲取最後一條記錄,因此我無法在自定義構建回購中調用我的自定義查詢。錯誤在下面。你知道它會是什麼嗎?無法找到自定義回購中的自定義查詢

注意:正常find(),findBy()類似的查詢工作正常。如果有更簡單的方法,那麼請告訴我如何去做。

感謝

錯誤:

Undefined method 'getLastRecord'. The method name must start with either findBy or findOneBy! 

主類:

namespace Booking\AdminBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* @ORM\Table(name="CashQuery") 
* @ORM\Entity(repositoryClass="Booking\AdminBundle\Entity\CashQueryRepository") 
* @ORM\Entity 
*/ 
class CashQuery 
{ 
} 

REPO:

namespace Booking\AdminBundle\Entity; 

use Doctrine\ORM\EntityRepository; 

class CashQueryRepository extends EntityRepository 
{ 
    public function getLastRecord() 
    { 
     return $this->getEntityManager() 
      ->createQuery(
       'SELECT d FROM AdminBundle:CashQuery d ORDER BY d.id DESC LIMIT 1' 
      ) 
      ->getResult(); 
    } 
} 

嘗試與這一點:

$dcq = $em->getRepository('BookingAdminBundle:CashQuery')->getLastRecord(); 
if (! $dcq) { 
    echo 'CashQuery could not found'; 
    return false; 
} 
echo $dcq->getCreatedAt(); 
+0

我認爲所有來自自定義實體存儲庫的查詢應該以findBy或findOneBy開頭。您是否嘗試更改名稱,並在開始處包含findBy或findOneBy? – Splendonia 2014-09-04 21:50:54

回答

2

好像你覆蓋Entity註解。嘗試刪除第二個:

namespace Booking\AdminBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* @ORM\Table(name="CashQuery") 
* @ORM\Entity(repositoryClass="Booking\AdminBundle\Entity\CashQueryRepository") 
*/ 
class CashQuery 
{ 
} 
+0

哎呀。就是那個! – BentCoder 2014-09-04 22:05:24