我试图将1个表单提交到2个表格中。
这是我的表格:
<div class="control-group">
<label{% for attrname,attrvalue in attr %} {{attrname}}="{{attrvalue}}"{% endfor %}>Naam</label>
<div class="controls">
{{ form_widget(form.product) }}
{{ form_errors(form.product) }}
</div>
</div>
<div class="control-group">
<label{% for attrname,attrvalue in attr %} {{attrname}}="{{attrvalue}}"{% endfor %}>Aantal</label>
<div class="controls">
{{ form_widget(form.amount) }}
{{ form_errors(form.amount) }}
</div>
</div>
<div class="control-group">
<label{% for attrname,attrvalue in attr %} {{attrname}}="{{attrvalue}}"{% endfor %}>Serienummer</label>
<div class="controls">
{{ form_widget(form.serials) }}
{{ form_errors(form.serials) }}
</div>
</div>
Formbuilder:
$builder->add("amount", "number", array("label" => "Aantal"));
$builder->add("product", "text", array("attr" => array("autocomplete" => "off", "data-provide" => "typeahead", "data-items" => "15", "data-source" => $dataSource), 'mapped' => false));
$builder->add("price", "number", array("label" => "Aangepaste prijs", 'mapped' => false));
$builder->add("serials","number", array("label" => "Serienummer"));
这是我的ORM的一部分:
oneToMany:
serials:
targetEntity: SerialNumber
mappedBy: BookingEntry
以下是我的&#39; BookingEntry&#39;的一部分。实体:
class BookingEntry
{
public $serials;
public function getSerials()
{
return $this->serials;
}
public function setSerials($serials)
{
$this->serials = $serials;
return $this;
}
以下是我的序列号的一部分&#39;实体:
class SerialNumber
{
/**
* @var string $serial_nr
*/
private $serial_nr;
/**
* Set serial_nr
*
* @param string $serial_nr
* @return SerialNumber
*/
public function setSerial_nr($serial_nr)
{
$this->serial_nr = $serial_nr;
return $this;
}
/**
* Get serial_nr
*
* @return string
*/
public function getSerial_nr()
{
return $this->serial_nr;
}
}
我的BookingEntry标签看起来像这样:
我的SerialNumber表格如下所示:
现在我想提交我在SerialNumber表格中插入表格的序列号。
我在控制器中试过这个:
$serialnumber = new SerialNumber();
$serialnumber->setSerials($form->get("serials")->getData());
$em->persist($serialnumber);
和此:
$bookingentry= new bookingEntry();
$bookingentry->setSerials($form->get("serials")->getData());
$em->persist($bookingentry);
但是我一直收到一条错误消息,告诉我我的查询是空的。
但是当我这样做时:
$serialnumber = new SerialNumber();
$serialnumber->setSerials($form->get("amount")->getData());
$em->persist($serialnumber);
价值关闭&#39;金额&#39;插入&#39; serial_nr&#39;字段。
有人有任何想法吗?