我是Symfony的新手,我正在尝试运行基本的SQL查询,但不断收到以下错误。我很难对此进行故障排除。我想知道是否有人能指出我正确的方向,并可能解释我做错了什么?
非常感谢提前!
错误:
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....
答案 0 :(得分:2)
正如图基在评论中所说,
你应该从教义中获得经理:
$em = $this->getDoctrine()->getManager();
我看到你发布了很多关于symfony2的问题,尝试制作测试项目并生成实体,并为它做CRUD。
php app/console doctrine:generate:entity
php app/console doctrine:generate:crud
生成的代码将帮助您了解其工作原理