Probuje zrobic wyszukiwarke, w zmiennejj $selectedCity dobrze mi pobiera ID miasta natomiast pozniej jest jakas lipa

searchController ma 1 akcje:
Cytat
/**
* @Route("/search/city", name="search_city")
*
* @param Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function searchCityAction(Request $request)
{
$search = new City();
$form = $this->createForm(CityType::class, $search)
->add('submit', SubmitType::class, ["label" => "Szukaj"]);
$entityManager = $this->getDoctrine()->getManager();
if($request->isMethod(Request::METHOD_POST))
{
$form->handleRequest($request);
$selectedCity = ($_REQUEST['city']['city']);
$address = $entityManager->getRepository(Address::class)->findBy(["city" => $selectedCity]);
$searched = $entityManager->getRepository(Advert::class)->findBy(["address" => $address]);
return $this->render("Search/searched.html.twig", ["searched" => $searched]);
}
return $this->render("Search/index.html.twig", ["form" => $form->createView()]);
}
* @Route("/search/city", name="search_city")
*
* @param Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function searchCityAction(Request $request)
{
$search = new City();
$form = $this->createForm(CityType::class, $search)
->add('submit', SubmitType::class, ["label" => "Szukaj"]);
$entityManager = $this->getDoctrine()->getManager();
if($request->isMethod(Request::METHOD_POST))
{
$form->handleRequest($request);
$selectedCity = ($_REQUEST['city']['city']);
$address = $entityManager->getRepository(Address::class)->findBy(["city" => $selectedCity]);
$searched = $entityManager->getRepository(Advert::class)->findBy(["address" => $address]);
return $this->render("Search/searched.html.twig", ["searched" => $searched]);
}
return $this->render("Search/index.html.twig", ["form" => $form->createView()]);
}
Dostalem jedna rade zmienic controller tak:
Cytat
/**
* @Route("/search/city", name="search_city")
*
* @param Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function searchCityAction(Request $request)
{
$search = new City();
$form = $this->createForm(CityType::class, $search)
->add('submit', SubmitType::class, ["label" => "Szukaj"]);
$entityManager = $this->getDoctrine()->getManager();
if($request->isMethod(Request::METHOD_POST))
{
$form->handleRequest($request);
$selectedCity = ($_REQUEST['city']['city']);
$address = $entityManager->getRepository(Address::class)->findBy(["city" => $selectedCity]);
$addressIds = $address->map(function($single_address) {
return $single_address->id;
});
$searched = $entityManager->getRepository(Advert::class)->findBy(["address" => $addressIds]);
return $this->render("Search/searched.html.twig", ["searched" => $searched]);
}
return $this->render("Search/index.html.twig", ["form" => $form->createView()]);
}
* @Route("/search/city", name="search_city")
*
* @param Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function searchCityAction(Request $request)
{
$search = new City();
$form = $this->createForm(CityType::class, $search)
->add('submit', SubmitType::class, ["label" => "Szukaj"]);
$entityManager = $this->getDoctrine()->getManager();
if($request->isMethod(Request::METHOD_POST))
{
$form->handleRequest($request);
$selectedCity = ($_REQUEST['city']['city']);
$address = $entityManager->getRepository(Address::class)->findBy(["city" => $selectedCity]);
$addressIds = $address->map(function($single_address) {
return $single_address->id;
});
$searched = $entityManager->getRepository(Advert::class)->findBy(["address" => $addressIds]);
return $this->render("Search/searched.html.twig", ["searched" => $searched]);
}
return $this->render("Search/index.html.twig", ["form" => $form->createView()]);
}
Tylko ze przy takim rozwiazaniu dostaje errora:
Cytat
Call to a member function map() on array
Wie ktos moze co moze byc nie tak?