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