Как передать идентификатор из FormBuilder другому лицу?
У меня есть сущность "Контракт" и другая сущность "Валюта".
Как передать идентификатор валюты моего юридического лица в мой договор с юридическим лицом?
Для каждого есть идентификатор валюты, и этот идентификатор должен быть вставлен в мой сущностный контракт с помощью FormBuilder, в поле "currency_id" в табличном договоре. Есть одно отношение сущности "Контракт" и сущность "Валюта". Нет способа спасти идентификатор валюты у FormBuilder Контракта? Я искал документацию, но ничего не нашел!
Вот код моего конструктора форм:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('currency_id', 'choice', array('label' => 'Moeda:', 'choices' => array(''=>'', 1 => 'BRL', 2 => 'USD', 3 => 'EUR'), 'required' => true))
->add('safeExpenses', 'checkbox', array('label' => 'Seguro de Despesas:'))
->add('valueSafeExpenses', 'text', array('label' => 'Valor:'))
->add('safeTax', 'checkbox', array('label' => 'Seguro de Impostos:'))
;
}
Я бы вставил CURRENCY_ID -> 1 - BRL, в моей таблице Контракт, в поле (столбец) "currency_id"
Мой контроллер:
public function createAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$customer = $em->getRepository('FidcargoPortalBundle:Customer')->findAll();
$currency = $em->getRepository('FidcargoPortalBundle:Currency')->findAll();
$entity = new Contract();
$entity ->setDtContract = (new \DateTime());
$form = $this->createCreateForm($entity);
$form->handleRequest($request);
if ($form->isValid()) {
$entity ->setRegistrationStatus(Contract::AGUARDANDO_APROVACAO);
$customer = $em->getRepository('FidcargoPortalBundle:Customer')->find($request->get('customer_id'));
$customer = $em->getRepository('FidcargoPortalBundle:Currency')->find($request->get('currency_id'));
$entity ->setCustomer($customer);
$entity ->setCurrency($cusrrency);
$em->persist($entity);
$em->flush();
return $this->redirect($this->generateUrl('contract_approve', array(
'customer' => $customer,
'id' => $entity->getId())));
}