我已经和Symfony一起学习网络开发已有一段时间了。
我正在关注Symfony的website和Doctrine tutorial上的教程,并试图在Doctrine ORM中使用实体管理器来创建查询,但是PhpStorm的自动完成告诉我它不能&#39 ;找到createquery()
。 (见下面的截图)
答案 0 :(得分:1)
您确定已包含以下使用声明
use Doctrine\ORM\EntityManager
答案 1 :(得分:1)
根据你的截图(getRepository,flush,persist ...)是 $ this-> getDoctrine() - > getManager()的方法,你可以在任何symfony 控制器类上找到:
您要使用的是 $ this-> getEntityManager() - > createQuery(),您可以在symfony 存储库类中找到它:
所以正确的方法是创建一个Repository并将你的方法添加到它中,然后在你的控制器中使用这个方法:
class UserController extends Controller
{
/**
* @Route("/", name="user_list")
*/
public function indexAction()
{
$em = $this->getDoctrine()->getManager();
$userrs = $em->getRepository("AppBundle:User")->myRepositoryMethod();
...