【发布时间】:2017-03-29 16:33:57
【问题描述】:
我想从我的 EntityRepository 创建一个请求,所以这是我的代码:
<?php
namespace zhr\myprojectBundle\Entity;
use Doctrine\ORM\EntityRepository;
/**
* myprojectdbEntityRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class myprojectdbEntityRepository extends EntityRepository
{
public function getAll()
{
$qb = $this->createQueryBuilder('s');
$query = $qb;
$result = $qb->getQuery()->execute();
}
}
我想在我的控制器文件中使用它,所以这是我的代码:
公共函数 searchusersAction(Request $request) {
$em = $this->getDoctrine()->getManager();
$repository = $em->getRepository('myprojectBundle:User');
$utilisateur = $repository->getAll();
var_dump($utilisateur); die();
//return $this->render('mypageBundle:Admin:adminindex.html.twig', array('sheet'=>$utilisateur));
}
我得到一个错误:
未定义的方法“getAll”。方法名称必须以 findBy 或 findOneBy 开头!
???通常存储库文件中的所有方法都必须在我的控制器文件中定义吗?
先谢谢大家
【问题讨论】:
-
您是否在您的实体中设置了repositoryClass? symfony.com/doc/current/doctrine/repository.html
-
我认为错误是不言自明的。方法名应该以 findBy 开头,否则 findOneBy 不获取。而且你没有从 getAll 方法返回任何东西