После обновления Symfony с 3.3 до 4.4.7 я столкнулся с проблемой маршрутизации. Например, я посещаю URL-адрес, такой как abcd.com/secure-admin/subadmin-management, он показывает правильную страницу. Но если мы попытаемся посетить другой URL-адрес, такой как abcd.com/secure-admin/subadmin-management/ add-subadmin URL-адрес будет отображаться правильно в адресной строке, но страница отображается с первого URL-адреса. Это работало отлично до обновления. Когда я просмотрел документацию symfony, они упомянули, что функциональность форели изменилась. Я пытался изменить в соответствии с тем, что они упоминали, но это не работает. Код, который я пробовал.
class SubAdminListController extends Controller
{
/**
* @Route("/subadmin-management/{c}", name="subadmin-listing",defaults={"c" = null})
* @Secure("has_role('ROLE_ADMIN') or has_role('ROLE_SUBADMIN')")
*/
public function indexAction(Request $request,$c = null) /*abcd.com/secure-admin/subadmin-management*/
{
$user = $this->getUser();
$role = $user->getRoles();
$entityManager = $this->getDoctrine()->getManager();
$sql = "SELECT * FROM fos_user WHERE roles ='$role' ORDER BY id DESC";
$subadminlist = $entityManager->getConnection()->executeQuery($sql)->fetchAll();
$profileRepo = $this->getDoctrine()->getRepository('AdminBundle:DefaultImageSetting');
$userimage = $profileRepo->findOneBy(array("id" => '1'));
return $this->render('@AdminBundle/Admin/subadminmanage.html.twig',array(
'data' => $subadminlist,'counter'=>0,'userimage'=>$userimage,'added'=>$c));
}
/**
* @Route("/add-subadmin",name="subadmin")
*/
public function addsubadminAction() /*abcd.com/secure-admin/subadmin-management/add-subadmin*/
{
$user = $this->getUser();
$role = $user->getRoles();
$profileRepo = $this->getDoctrine()->getRepository('UserBundle:User');
$user = $this->container->get('security.token_storage')->getToken()->getUser();
$userId = $user->getId();
$timezoneRepo = $this->getDoctrine()->getRepository('AdminBundle:Timezone');
$profile = $profileRepo->findOneBy(array("id" => $userId));
$timezone = $timezoneRepo->findAll();
return $this->render('@AdminBundle/Admin/subadminprofile.html.twig',array('profile' =>$profile, 'timezone' =>$timezone));
}
}