Я хочу сохранить мои значения сущности по умолчанию через одну определенную переменную.Я подключил некоторые таблицы через внешние ключи, и они уже возвращают значения, которые находятся в БД.Поскольку это поля, которые нельзя изменить, мне просто нужно передать их в новой строке в БД.
public function ticketAddAction(Request $request, $id)
$ticket = $this->getDoctrine()
->getRepository('AppBundle:Tickets')->find($id);
$form = $this->createFormBuilder()
->add('play', EntityType::class, array(
'disabled'=> true,
'data' => $ticket->getPlay(),
'class' => Plays::class,
'choice_label' => 'playName',
'attr' => ['class' => 'form-control']
))
->add('theater', EntityType::class, array(
'disabled'=> true,
'data' => $ticket->getTheater(),
'class' => Theater::class,
'choice_label' => 'name',
'attr' => ['class' => 'form-control']
))
->add('hall', EntityType::class, array(
'disabled'=> true,
'data' => $ticket->getHall(),
'class' => Halls::class,
'choice_label' => 'hallName',
'attr' => ['class' => 'form-control']
))
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$data = $form->getData();
$this->container->get('tickets')->addNewTicket($ticket);
return $this->redirectToRoute('published');
}
return $this->render('@FrontTemplates/pages/ticket.html.twig', array(
'form' => $form->createView(),
'purchase' => $ticket,
));
}
В этом вызове API все, кажется, работает нормально, но в приведенном ниже вызове API я не могу понять, как выполнить цикл через все эти объекты, используя только одну переменную ..
Вотмой сервис api call ..
public function addNewTicket(Tickets $ticket)
{
$newTicket = new Tickets();
foreach ($ticket as $newTicket) {
$ticket->setPlay($play);
$ticket->setTheater($theater);
$ticket->setHall($hall);
}
return $newTicket
}
и информация о моей сущности
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Base\Entity\Plays")
* @ORM\JoinColumn(name="play_id", referencedColumnName="id")
*/
private $play;
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Base\Entity\Theater")
* @ORM\JoinColumn(name="theater_id", referencedColumnName="id")
*/
private $theater;
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Base\Entity\Halls")
* @ORM\JoinColumn(name="hall_id", referencedColumnName="id")
*/
private $hall;