我想将 bool 值传递给我的 DogForm
$dogForm = new DogForm(null, array("has_cats" => $this->getUser()->hasCats()));
$form = $this->createForm($dogForm, $dog);
但是在我的 DogForm
中执行时:
if (!isset($options['has_cats'])) {
throw new \Exception("Missing option has_cats, this option is mandatory");
}
它总是给我这个错误。
所以我知道狗不应该养猫,但是,我的 has_cats
选项去了哪里?
谢谢。
最佳答案
选项应该传递给 createForm()
方法,而不是传递给 DogForm
构造函数:
$form = $this->createForm(new DogForm(), $dog, array('has_cats' => $cats));
请注意,您还必须将“has_cats”添加到getDefaultOptions()
关于symfony - 通过 buildForm() 中的 $options 访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8700022/