Symfony 如何将ID从FormBuilder传递给其他实体?
我有一个实体“合同”和另一个实体“货币”。Symfony 如何将ID从FormBuilder传递给其他实体?,symfony,entity,formbuilder,Symfony,Entity,Formbuilder,我有一个实体“合同”和另一个实体“货币”。 如何将实体货币的ID传递给实体合同 对于每个实体,都有一个货币ID,FormBuilder必须将该ID插入到我的实体合同中,插入到表合同的“货币ID”字段中。 存在一个实体关系“合同”和实体“货币” 没有办法拯救合同的表单生成器的货币ID? 我搜索了文档,但什么也没找到 以下是我的表单生成器的代码: public function buildForm(FormBuilderInterface $builder, array $options)
如何将实体货币的ID传递给实体合同 对于每个实体,都有一个货币ID,FormBuilder必须将该ID插入到我的实体合同中,插入到表合同的“货币ID”字段中。 存在一个实体关系“合同”和实体“货币” 没有办法拯救合同的表单生成器的货币ID? 我搜索了文档,但什么也没找到 以下是我的表单生成器的代码:
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\u ID”字段(列)中插入CURRENCY\u ID->1-BRL
我的控制器:
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())));
}
这里有输入错误$entity->setCurrency($cusrrency);你在找那个女孩吗?:)字段类型为ID,一个外部实体。正如我所说,我试图将货币ID传递给合同实体,因为在我的合同中有实体货币ID字段。但它必须通过造模工。泰·帕维尔,我现在来修