query; $number = trim($query->getString('isn')); $title = trim($query->getString('title')); $author = trim($query->getString('author')); $publisher = trim($query->getString('publisher')); if ($number === '' && $title === '' && $author === '' && $publisher === '') { return $this->redirectToRoute('book_add'); } try { $candidates = $number !== '' ? $lookup->findByStandardNumber($number) : $lookup->findByDescription($title, $author, $publisher); } catch (LookupFailedException) { $this->addFlash('error', 'lookup_failed'); return $this->redirectToRoute('book_add'); } return $this->render('book/lookup.html.twig', [ 'candidates' => $candidates, 'book_id' => $query->getString('id'), ]); } }