Вы должны добавить .clone()
элемент вместо получения outerHTML
и добавить его.
Создайте глубокую копию набора согласованных элементов.
componentContainer.append(component.clone(true));
$('button').click(function() { $('#a').clone().appendTo('div'); });
Вы можете попытаться внедрить маршрутизатор в свой класс обслуживания:
use Symfony\Component\Routing\RouterInterface;
class MyService {private $ router;
public function __construct(RouterInterface $router)
{
$this->router = $router;
}
public function checkWhereaboutsExist()
{
// your code ...
return new RedirectResponse($this->router->generate('section_start'));
}
}
Хммм, я полагаю, что ваш код находится в службе, а не в вашем контроллере? Вы не можете перенаправить из службы, но только из контроллера, поскольку контроллер отправляет окончательный ответ.
Вы должны вернуть логическое значение из вашего сервиса и перенаправить с вашего контроллера:
public function hasToGoToStart()
{
$em = $this->entityManager;
$repo_whereabouts = $em->getRepository(Whereabouts::class);
$whereabouts = $this->session->get('whereabouts');
if (($whereabouts === null) || ($whereabouts === ''))
{
return true;
}
else
{
$my_whereabouts = $repo_whereabouts->getWhereabouts($whereabouts);
if (!$my_whereabouts)
{
return true;
}
}
return false;
}
и в вашем контроллере:
if ($myService->hasToGoToStart()) {
// redirect
}