我想将一个 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));

请注意,您还必须在getDefaultOptions()中添加“has_cats”

关于symfony - 通过buildForm()中的$ options访问变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8700022/

10-12 23:30