簡體   English   中英

如何在Symfony 3中設置選定的EntityType字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM