2013-02-15 104 views
1

我期待在我的實體類中運行自定義查詢。我不想爲此查詢使用表映射我只想返回一個結果數組,但我希望查詢仍然記錄到記錄器。我已經剝離下來的類,並改名試一試,並說明我想要實現symfony2在實體內部創建自定義查詢 - getEntityManager()undefined

// src/Name/ExampleBundle/Entity/ExampleEntity.php 

namespace Name\ExampleBundle\Entity; 

class ExampleEntity 
{ 

    public function getArrayFromExample(){ 

     $results = $this->getEntityManager() 
     ->createQuery("SELECT * FROM exmapleTable LIMIT 50") 
     ->getResult(); 

     return $results; 
    } 

} 

以上的回報類似

Fatal error: Call to undefined method {path}\ExampleEntity::getEntityManager() 

回答

0

你的查詢應該是一個實體存儲庫,而不是實體本身。 http://mackstar.com/blog/2010/10/04/using-repositories-doctrine-2

然後,你可以這樣做:

public function getArrayFromExample(){ 
    $results = $this->_em 
    ->createQuery("SELECT * FROM exmapleTable LIMIT 50") 
    ->getResult(); 

    return $results; 
} 
+0

怎麼樣插入數據應該說是在倉庫中也? – 2013-02-19 10:39:56

+0

對於插入,您應該編輯實體並將其與實體管理器一起保存。 – 2013-02-19 15:52:50