簡體   English   中英

使用它的 id 設置一個 Symfony2 實體表單字段

[英]Setting a Symfony2 Entity form field using it's id

我有一個 Symfony2 未映射表單,它有一個“實體”類型的字段。 這是表單類型定義:

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('RegistrationForgotEmailTemplate', 'entity', array(
            'class' => 'EmailBundle:EmailTemplate',
            'placeholder' => '-- Default ---',
        ));
}

這是我構建表單實例的地方:

$data = array('RegistrationForgotEmailTemplate' => 4);
$form = $this->createForm($formType, $data, array(
            'action' => $url,
            'method' => 'POST'
            ));

我的問題是表單沒有將 RegistrationForgotEmailTemplate 字段設置為正確的實體(id 4)。 我認為這是因為我提供的是實體的 id 而不是它的實例。 有沒有辦法提供實體的 id 來設置這個字段,或者是傳遞我想設置字段的實體實例的唯一方法?

您可以使用轉換器,也可以使用“選擇”字段而不是“實體”並注入一個對象來提供選擇列表(可能是存儲庫)。

我個人認為你會發現變壓器方法更容易。 生成的代碼也會更好

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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