如何在ZF 2中填充选择元素?我的实体对象具有正确的值。当我用表单绑定对象时,表单不会用实际值填充select元素。
我不能只使用$ oForm-> bind($ oMyEntityObject);
注意::我不是在谈论Select元素的'value_options'。我试图手动调用setAttribute()方法并设置'value'属性。我只想知道我能用bind()方法做什么($ oForm-> bind())
答案 0 :(得分:1)
bind()
将使用附加到表单的表单水印器来设置值,因此它取决于您使用的类型。例如,hydrator类的方法将调用$oMyEntityObject
与表单元素名称匹配的公共方法。
因此,选择元素foo
具有相应的类属性foo
并且该类具有可公开访问的$oMyEntityObject->getFoo()
非常重要。
选择元素还需要值的额外要求必须已经在value_options
内(因此如果$oMyEntityObject->getFoo() == 1
则需要'value_options' => array(1 => 'Foo option 1')
要使用bind($oMyEntityObject)
)正确设置。