[英]How to set the selected EntityType field in symfony 3
我的表單類型中有EntityType
類,可從其中一個表生成數據。
我的問題是,當我嘗試使用主義方式將其插入數據庫時,該實體類型字段返回{}
值。
這是確切的數據庫錯誤:
An exception occurred while executing 'INSERT INTO sub_agent (company_id, name, email_address, telephone_no, mobile_no, website, registered, ip) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)' with params [{}, "test", "test@gmail.com", "test", "test", null, "2017-01-09 09:15:42", "127.0.0.1"]:
當我在控制器中使用var_dump
調試該實體字段時,我看到company_id
正在從我的company entity class
返回一個對象。
這是我的sub_agent_type
表格
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('company_id', EntityType::class, array(
'label' => 'Company',
'mapped' => false,
'required' => true,
'class' => 'SwipeBundle\Entity\Company',
'choice_label' => 'name',
'choice_value' => 'id',
'expanded' => false,
'multiple' => false,
'placeholder' => 'Choose a Company',
'constraints' => array(
new NotBlank(array("message" => 'Company name is required.')),
),
));
}
如何將我的實體字段(下拉列表)的選定值設置為要保存在數據庫中的表單? 這是我的實體字段生成的樹枝。
<select id="sub_agent_company_id" name="sub_agent[company_id]" required="required">
<option value="" selected="selected">Choose a Company</option>
<option value="20">ABC</option>
<option value="21">EFG</option>
<option value="22">HIJ</option>
</select>
這是我的控制器:
if ($form->isSubmitted() && $form->isValid()) {
$data = $form->getData();
$sub_agent_name = $data->getName();
$company_id = $data->getCompanyId();
var_dump($company_id); exit
在類別實體中,您應該具有:
public function __toString() {
return $this->id;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.