Symfony Doctrine DQL 在实体管理器中找不到 createQuery
Symfony Doctrine DQL cannot find createQuery in entity manager
我使用 Symfony 学习 Web 开发已有一段时间了。
我正在学习 Symfony 的 website and Doctrine tutorial 教程,并尝试在 Doctrine ORM 中使用实体管理器来创建查询,但 PhpStorm 的自动完成功能告诉我它找不到 createquery()
。 (截图见下方)
你确定你包含了下面的use语句
use Doctrine\ORM\EntityManager
根据您的屏幕截图 (getRepository, flush, persist...) 是 $this->getDoctrine()->getManager(),你可以在任何 symfony controller class :
上找到
您要使用的是 $this->getEntityManager()->createQuery(),您可以在 symfony repository 上找到它class :
因此,正确的做法是创建一个存储库并将您的方法添加到其中,然后在您的控制器中使用此方法:
class UserController extends Controller
{
/**
* @Route("/", name="user_list")
*/
public function indexAction()
{
$em = $this->getDoctrine()->getManager();
$userrs = $em->getRepository("AppBundle:User")->myRepositoryMethod();
...
我使用 Symfony 学习 Web 开发已有一段时间了。
我正在学习 Symfony 的 website and Doctrine tutorial 教程,并尝试在 Doctrine ORM 中使用实体管理器来创建查询,但 PhpStorm 的自动完成功能告诉我它找不到 createquery()
。 (截图见下方)
你确定你包含了下面的use语句
use Doctrine\ORM\EntityManager
根据您的屏幕截图 (getRepository, flush, persist...) 是 $this->getDoctrine()->getManager(),你可以在任何 symfony controller class :
上找到您要使用的是 $this->getEntityManager()->createQuery(),您可以在 symfony repository 上找到它class :
因此,正确的做法是创建一个存储库并将您的方法添加到其中,然后在您的控制器中使用此方法:
class UserController extends Controller
{
/**
* @Route("/", name="user_list")
*/
public function indexAction()
{
$em = $this->getDoctrine()->getManager();
$userrs = $em->getRepository("AppBundle:User")->myRepositoryMethod();
...