【发布时间】:2019-04-28 21:19:21
【问题描述】:
我正在设置一个清单来练习使用 Symfony 构建 Web 应用程序。它通过在表单中输入字符串并按下提交按钮来工作。输入存储在数据库中。
我想将存储在数据库中的输入返回到网页。
目前,输入存储在数据库中,我已经在我的存储库中编写了一个用于 DQL 查询的函数。
我的问题是我无法访问我在控制器中创建的方法。
我的仓库中的方法:
/**
* @return Checklist[]
*/
public function getAllItemsForChecklist(): array
{
$qb = $this->createQueryBuilder('c')
->select('item')
->from('checklist', 'x')
->getQuery()
;
return $qb->execute();
}
尝试访问控制器中方法的行(失败):
$items = $this->getDoctrine()
->getRepository(ChecklistRepository::class)
->getAllItemsForChecklist()
;
根据https://symfony.com/doc/master/doctrine.html#querying-for-objects-the-repository 的 Symfony 文档,这应该可以工作。但是,找不到方法“getAllItemsForChecklist()。在我的 IDE 上给出了以下消息:
在 \Doctrine\Common\Persistence\ObjectRepository 中找不到方法“getAllItemsForChecklist”
我不确定为什么它没有读取我指定的存储库类。
如果有人知道如何解决这个问题,那么它将在我的存储库中找到我制作的方法,将不胜感激。
另外,如果需要任何额外信息,请告诉我,我很乐意提供更多信息。
问候,
史蒂夫
【问题讨论】: