将我的查询生成器结果从我的 QuizRepository 获取到我的 QuizController

Get my querybuilder result from my QuizRepository to my QuizController

我在代码和 Symfony 方面都很新,我需要为我的测验做一个 <select>,列出我所有的主题(类别) 所以在我的 QuizRepository 中我这样做了:

public function byTheme()
{
    $qB = $this->createQueryBuilder('q')
               ->select('theme')
               ->distinct()
               ->getQuery()
               ->getResult()
           ;
}

但是现在,我如何将我的结果(这里 $qB 对吗?)调用到我的 QuizController

我试过了,但我确信这与我应该做的相去甚远:

$response = $this->forward('App\Repository\QuizRepository::select');

return $response

您首先需要 return 结果而不是将其存储在局部变量中:

public function byTheme()
{
    return $this->createQueryBuilder('q')
               ->select('theme')
               ->distinct()
               ->getQuery()
               ->getResult()
           ;
}

之后您可以在您的控制器中调用该方法:

public function yourAction(QuizRepository $repository)
{
    $quizzes = $repository->byTheme();
    // ...
}