2013-10-04 2 views
0

저는 Symfony를 처음 사용하고 있으며 기본 SQL 쿼리를 실행하려고하지만 아래 오류가 계속 발생합니다. 이 문제를 해결하는 데 정말로 힘든 시간을 보내고 있습니다. 나는 누군가가 올바른 방향으로 나를 가리키고 내가 뭘 잘못하고 있는지 설명 할 수 있는지 궁금 해서요?정의되지 않은 메소드 getEntityManager 호출

미리 감사드립니다.

오류 :

Call to Undefined Method ... DefaultController::getEntityManager() 

엔티티 (Company.php) 당신은에서 관리자를 얻어야한다

namespace Foo\FooBundle\Entity; 
use Doctrine\Common\Annotations\AnnotationReader; 
use Doctrine\ORM\Mapping as ORM; 
use Doctrine\ORM\EntityRepository; 

/** 
*@ORM\Entity 
*@ORM\Table(name="company") 
*/ 
class Company extends EntityRepository 
{ 
    /** 
    *@ORM\id 
    *@ORM\Column(type="integer") 
    *@ORM\GeneratedValue(strategy="AUTO") 
    */ 
    protected $id; 

    /** 
    *@ORM\Column(type="string", length=250) 
    */ 
    protected $name; 

    /** 
    *@ORM\Column(type="string", length=650) 
    */ 
    protected $description; 
} 

컨트롤러

public function searchAction($word) 
{ 
     $stmt = $this->getEntityManager()->getConnection()->prepare("SELECT * FROM company WHERE 
    MATCH(`keywords`) AGAINST(':word' IN BOOLEAN MODE)"); 
        $stmt->bindValue('word ', $word); 
        $stmt->execute(); 
        $results = $stmt->fetchAll(); 

    ..etc, etc....  
+4

[컨트롤러] (http://api.symfony.com/2.3/Symfony/Bundle/FrameworkBundle/Controller/Controller.html) 더있다 작동하지 않습니다 방법을 이해하는 데 도움이됩니다 getEntityManager 메소드. '$ this-> getDoctrine() -> getManager()'를 대신 사용해보십시오. – Touki

답변

1

touki 코멘트에 말했듯이, 교리 :

$em = $this->getDoctrine()->getManager(); 

symfony2에 대한 많은 질문을 게시하고 테스트 용 제트를 만들고 엔티티를 생성하고 CRUD를 작성한 것을 확인했습니다.

php app/console doctrine:generate:entity 
php app/console doctrine:generate:crud 

생성 된 코드는 당신이

+0

제안 해 주셔서 감사합니다. 나는 이미 엔티티와 crud를 생성했다. :) – AnchovyLegend

관련 문제