我目前正在使用SF2中的服务,该服务使用在本服务的构造函数中使用特定于存储库的QueryBuilder的类变量集来使用QueryBuilder查询数据库。 这意味着我想尽可能地使用这个集合QueryBuilder来获得更整洁的代码和使用它的干净感觉。
我想避免在EntityManager上创建查询,而是仅使用此预定义的Querybuilder进行查询。
我正在寻找看起来像以下那样的东西:
$query = $this->fooRepository->createQueryBuilder('f')->select('*');
return $query->getResult(Query::HYDRATE_ARRAY);
如上所述(如果有效)将返回数据库中的所有foo,据我所知..
如果您认为我是愚蠢的,应该针对预定义的QueryBuilders做一些不同的事情,或者只使用:
createQuery()
方法,因为它根本不是良好的做法或不可能,不要犹豫告诉我。
谢谢!
答案 0 :(得分:8)
尝试:
$qb = $this->fooRepository->createQueryBuilder('foo');
return $qb->getQuery()->getResult(Query::HYDRATE_ARRAY);
无需选择(*)。所有foo项都将被选中,因为没有添加where子句。