Symfony2 表单:预选值在 editAction 中丢失

Symfony2 Form : Preselected value is lost in editAction

好像我做错了什么,但我不知道在哪里。 我有一个如下所示的选择列表 motif

//....
$builder->add('motif', 'choice', array(
    'label' => 'Motif',
    'choice_list' => $motifs, //array of entities
    'empty_value' => "Please select motif ..."
));

Motif实体:

class Motif{

    public $id;

    public $code;

    public function __toString(){
        return $this->code;
    }
}

当我想创建一个实体时,该表单工作正常。但是,在编辑中,我失去了最初的选择,我得到了 "Please select motif...".

在此先感谢您的帮助。

我终于找到问题的原因了。这是一个 Symfony 框架问题:[Form] ObjectChoiceList should select initial field value based on the value property.

为了克服这个问题,我不得不写一个 class 并命名为 ValueBasedObjectChoiceList

希望对遇到同样问题的人有所帮助。