如何在ZF 2中填充Select元素?

时间:2014-04-13 16:40:23

标签: zend-framework2

如何在ZF 2中填充选择元素?我的实体对象具有正确的值。当我用表单绑定对象时,表单不会用实际值填充select元素。

我不能只使用$ oForm-> bind($ oMyEntityObject);

注意::我不是在谈论Select元素的'value_options'。我试图手动调用setAttribute()方法并设置'value'属性。我只想知道我能用bind()方法做什么($ oForm-> bind())

1 个答案:

答案 0 :(得分:1)

bind()将使用附加到表单的表单水印器来设置值,因此它取决于您使用的类型。例如,hydrator类的方法将调用$oMyEntityObject与表单元素名称匹配的公共方法。

因此,选择元素foo具有相应的类属性foo并且该类具有可公开访问的$oMyEntityObject->getFoo()非常重要。

选择元素还需要的额外要求必须已经在value_options内(因此如果$oMyEntityObject->getFoo() == 1则需要'value_options' => array(1 => 'Foo option 1')要使用bind($oMyEntityObject))正确设置。