在我的数据仓库中,我创建了一个函数:
public function myData(){
$data = $this->createQueryBuilder('data')
->leftJoin('data.fields', 'f')
->andWhere('f.name = :field')
->setParameter('field', 'company');
$result = $data->getQuery()->execute();
return $result;
}
在我的控制器中,我想使用这个函数:
class PagesController extends AbstractController
{
public function __construct(EntityManagerInterface $em) {
$this->em = $em;
}
/**
* @Route("/page", name="page", methods={"POST", "GET"})
*/
public function page(Request $request)
{
$data = $this->em->getRepository('App\\Entity\\Data')->myData();
但我收到错误消息:
未定义的方法'myData'。方法名称必须以findBy、findOneBy或countBy开头!
2条答案
按热度按时间wgx48brx1#
您应该将存储库注入到控制器中:
23c0lvtd2#
在myData函数中,您使用的变量名为$data,但在$result中,您使用的是$qb...您应该将$data更改为$qb