簡體   English   中英

使用 Symfony 3.4 對存儲庫 class 進行原始查詢

[英]Raw query on repository class using Symfony 3.4

我需要在存儲庫 class 中創建一個原始查詢,但我得到了錯誤

class UserRepository extends EntityRepository
{
   public function usertoExpirate(){

     $query = 'SELECT email 
     FROM user 
     WHERE type NOT IN("deleted", "admin") 
     AND  expiration_date < DATE_ADD(NOW(),INTERVAL -3 MONTH)';
    
     $statement = $this->getConnection()->prepare($query);
     $statement->execute();
     $user_to_expirate_password = $statement->fetchAll();

     return $user_to_expirate_password;
}

我收到此錯誤

Undefined method 'getConnection'. The method name must start with either findBy, findOneBy or countBy!

根據Symfony 3.4 的文檔,您需要獲取實體管理器,而不是連接。 試試這樣:

class UserRepository extends EntityRepository {
    public function usertoExpirate() {

        $query = 'SELECT email 
        FROM user 
        WHERE type NOT IN("deleted", "admin") 
        AND expiration_date < DATE_ADD(NOW(),INTERVAL -3 MONTH)';
   
        return $this->getEntityManager()
            ->createQuery($query)
            ->getResult();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM