如何在Symfony2中执行DQL查询?

时间:2017-09-23 22:05:42

标签: php symfony doctrine dql

我正在尝试从DQL查询中获取对象。 这是我的代码:

$em = $this->getDoctrine()->getRepository(Item::class);

$items = $em->createQuery($getQuery);
$items = $query->getResult();

$getQuery = DQL query string : SELECT from Entity WHERE ...

我收到错误:未定义的方法'createQuery'。方法名称必须以findBy或findOneBy开头! 我不明白,bcz这个例子是从官方文档中复制的。 我如何在queryBuilder / createQuery中执行DQL查询?

1 个答案:

答案 0 :(得分:0)

实体经理有createQuery方法。

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

$query = $em->createQuery($getQuery);

$items = $query->getResult();

存储库有createQueryBuilder方法。

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

$qb = $em->getRepository(Item::class)->createQueryBuilder();
$query = qb->select('[columns]')->from('Entity')->where('[condition]')->getQuery();
$items = $query->getResult();