Symfony Forms - Datatime Add + 30 минут - PullRequest
       1

Symfony Forms - Datatime Add + 30 минут

0 голосов
/ 22 ноября 2018

Когда я устанавливаю beginAt (DateTime) в формах, я хотел бы установить ту же дату в «endAt», но +30 минут.Я понятия не имею, как это сделать :(

Первый код - это часть формы в моем проекте, а второй - функция «Новое назначение» для добавления встречи.

$builder
                ->add('title', TextType::class, ['label'=>'Tytuł'])
                ->add('description', TextType::class, ['label'=>'Treść'])
                ->add('beginAt')
                ->add('endAt')


            ;



public function new(Request $request, $id, TokenStorageInterface $tokenStorage): Response
    {
        $currentUser = $tokenStorage->getToken()
                ->getUser();

        $username = $currentUser->getUsername();

        $appointment = new Appointments();
        $appointment->setDoctor($id);
        $appointment->setUsername($username);
        $form = $this->createForm(AppointmentsType::class, $appointment);

        $form->handleRequest($request);


        if ($form->isSubmitted() && $form->isValid()) {
            $em = $this->getDoctrine()->getManager();
            $em->persist($appointment);
            $em->flush();

            return $this->redirectToRoute('przychodnia_index');
        }


        return $this->render('appointments/new.html.twig', [
            'appointment' => $appointment,
            'form' => $form->createView(),
        ]);
    }

1 Ответ

0 голосов
/ 26 ноября 2018

Попробуйте использовать События формы Symfony , например, для обновления поля endAt при отправке и использования некоторого ajax для динамической отправки формы.Здесь есть отличный учебник (по-французски извините) https://www.grafikart.fr/tutoriels/champs-imbriques-888

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...