我正在尝试从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查询?
答案 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();