Mentor
と呼ばれるエンティティーとAjaxのオートコンプリートがあります。lastName
とfirstName
の両方がオートコンプリート可能です。 そして、コントローラの関数に2つのリターンを追加する必要があります。ここコントローラー内での1つのアクションでの複数のリクエストの基本的な条件 - symfony3
は私が1 return
のために行わ何であり、それは動作します(私はlast name
のためにそれをやった)
public function ajaxAutoCompleteMentorAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$lastNames = $em->getRepository('AppBundle:Mentor')->getMentorLastAutocomplete($request->query->get('term'));
$formattedData = array();
foreach ($lastNames as $lastName) {
$formattedData[] = array(
'value' => $lastName['lastName'],
);
}
return new JsonResponse($formattedData);
}
それから私は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
をどこかに置くべきですか? はあなたが両方のリターンを削除し、のみ返すことができ、あなたの助け
これはsymfonyでは関係ありません。この質問は 'PHP'とタグ付けされるべきです。基本的なPHP構文です:関数は1つの値しか返せません。あなたができることは '$ formattedLast'と' $ formattedFirst'をひとつの変数に組み合わせてこの組み合わせを返すことです。 –
次に、2つの要素を持つ配列を戻し、あなたのajax jsコードで処理します。 – COil
@OscarPerez、あなたの答えに感謝します。私はコーディングに新しいので、あなたのソリューションに興味があります。コントローラのアクションでこれら2つをどのように組み合わせることができますか?ありがとうございます –