0

我有这样的场景:

跟踪多对多乐器

我以这种方式创建表单:

$builder
     ->add('instruments', 'entity_hidden', array(
                           'attr' => array('class' => 'one_req'),
                           'label' => 'form.instrument',
                           'translation_domain' => 'label',
                           'required' => false,
                           'class' => 'Acme\DemoBundle\Entity\Instrument'
                               ))

“hidden_​​entity”由您可以在此处找到的自定义转换器给出:gist

虽然我相信这不是问题。

问题是用户甚至可能不会选择任何乐器(例如用 指定的其他乐器"required" => false)。

当我去保存我的回报时,这个错误:

Neither the property 'instruments' nor one of the methods 'setInstruments()',
'__set()' or '__call()' exist and have public access in 
class 'Acme\DemoBundle\Entity\SoundtrackVersion'.

我不懂为什么 ..

我在哪里做错了?

4

1 回答 1

1

听起来很明显,但错误不能说谎。检查Acme\DemoBundle\Entity\SoundtrackVersion实体是否具有属性instruments和方法setInstruments()以及getInstruments().

于 2013-08-29T16:33:23.547 回答