控制器内一个操作中多个请求的基本条件-Symfony3

控制器内一个操作中多个请求的基本条件-Symfony3,symfony,controller,Symfony,Controller,我在Ajax中有一个名为Mentor的实体,它可以拥有lastName和firstName,这两个实体都可以自动完成。 我需要在控制器函数中添加两个返回 下面是我为一个返回所做的工作,它是有效的(我为姓氏所做的) 然后我尝试这样做,为firstName字段添加一个返回值。那样 public function ajaxAutoCompleteMentorAction(Request $request) { $em = $this->getDoctrine()->getManag

我在Ajax中有一个名为
Mentor
的实体,它可以拥有
lastName
firstName
,这两个实体都可以自动完成。 我需要在控制器函数中添加两个返回

下面是我为一个
返回所做的工作,它是有效的(我为
姓氏所做的)

然后我尝试这样做,为
firstName
字段添加一个返回值。那样

public function ajaxAutoCompleteMentorAction(Request $request)
{
    $em = $this->getDoctrine()->getManager();

    $lastNames = $em->getRepository('AppBundle:Mentor')->getMentorLastAutocomplete($request->query->get('term'));
    $firstNames = $em->getRepository('AppBundle:Mentor')->getMentorFirstAutocomplete($request->query->get('term'));

    $formattedLast = array();
    foreach ($lastNames as $lastName) {
        $formattedLast[] = array(
            'value' => $lastName['lastName'],
        );
    }
    return new JsonResponse($formattedLast);

    $formattedFirst = array();
    foreach ($firstNames as $firstName) {
        $formattedFirst[] = array(
            'value' => $firstName['firstName'],
        );
    }
    return new JsonResponse($formattedFirst);
}
但我不能让它工作。我应该在某处放置
if

感谢您的帮助

您可以同时删除退货和退货:

return new JsonResponse([$formattedFirst, $formattedLast]);

它与Symfony没有关系。此问题应标记为
PHP
。这是PHP的基本语法:一个函数只能返回一个值。您可以将
$formattedLast
$formattedFirst
组合成一个变量并返回此组合。然后重新生成一个包含2个元素的数组,并用ajax js代码处理它。@OscarPerez,谢谢您的回答。我对编码是新手,所以我对你的解决方案很感兴趣。如何在控制器操作中结合这两种功能?谢谢,这取决于你想做什么。例如,您可以这样做:
返回新的JsonResponse(array_merge($formattedFirst,$formattedLast))不管怎样,我觉得你采取了错误的方法。@OscarPerez好的,我会试试你的解决方案。也许我错了,这就是我来这里的原因,为了找到解决问题的办法。谢谢你的帮助
return new JsonResponse([$formattedFirst, $formattedLast]);