1

エンティティクラス内でカスタムクエリを実行しようとしています。このクエリにテーブルマッピングを使用したくありません。結果の配列を返したいだけですが、クエリをロガーに記録したいのですが。私はクラスを削除し、私が達成しようとしていることを説明するために名前を変更しました

// 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() 
4

1 に答える 1

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;
}
于 2013-02-15T22:06:01.390 に答える