Поэтому у меня есть контроллер с помощью этого метода действия здесь:реорганизовывать данные обычного запроса разбора с использованием Symfony формы компонента
public function addAction(Request $request)
{
$tournamentId = $request->request->get('tournament_id');
$externalId = $request->request->get('external_id');
$eventDate = $request->request->get('event_date');
if (!is_numeric($tournamentId) || !is_numeric($externalId) || empty($eventDate)) {
throw new InvalidArgumentException('Invalid POST data');
}
$em = $this->getDoctrine()->getManager();
$tournament = $em->getRepository('BakingBankCoreBundle:TournamentGame')->find($tournamentId);
if (empty($tournament)) {
throw new InvalidArgumentException('Invalid tournament ID');
}
$entity = new TournamentInstance();
$entity->setTournament($tournament);
$entity->setExternalId($externalId);
$entity->setEventDate(new DateTime($eventDate));
$em->persist($entity);
$em->flush();
return new JsonResponse(['id' => $entity->getId()]);
}
Моего коллега хочет, чтобы я реорганизовать это использовать форму. Улов - поля TournamentInstance заключаются в следующем:
/**
* @var TournamentGame
*
* @ORM\ManyToOne(targetEntity="TournamentGame")
* @ORM\JoinColumn(name="tournament_id", referencedColumnName="id", onDelete="CASCADE", nullable=false)
*/
private $tournament;
/**
* @var string
*
* @ORM\Column(name="external_id", type="string", length=64, nullable=false)
*/
private $externalId;
/**
* @var DateTime
*
* @ORM\Column(name="event_date", type="date", nullable=false)
*/
private $eventDate;
POST-данные не передаются из формы ветку, а скорее из запроса AJAX в JS, где данные, собранные с нескольких позиций в коде.
Как я могу это сделать, и это даже стоит того? Я понимаю, что он хочет, чтобы все было стандартизованным, но я думаю, что он еще более идеалист, чем я (и это много говорит).
, какая версия Symfony вы используете? – Heah
@Heah - 2.7, но планируем переместить этот проект на 3.0. – jurchiks