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 回答