2011-09-08 38 views
0

我尝试通过创建新类别的方式来实现这种效果:我在表单中添加一个“选择列表”以显示我创建的所有类别,所以我尝试了:symfony 2:关于表单的问题

> /** 
>  * @var string $parent 
>  * 
>  * @ORM\ManyToOne(targetEntity="ProductCategory") 
>  * @ORM\JoinColumn(name="product_category_id", 
> referencedColumnName="id") 
>  */ 
>  
>  private $parent; 

的话,我想知道的是:如果选中该复选框isRoot,父选项设置为“根”,所以我写了:

> if($entity->getIsRoot()){ 
>    $entity ->setParent('root'); 
>   } 

但是,它给我一个例外: 预期参数类型“对象”,“字符串”给出

这是怎么回事?如何解决问题。

在此先感谢! :)

回答

0

看起来你的问题是,

->setParent() 

预计类型类别的对象。

由于您不想为根节点选择父类别,因此不应设置父级。

+0

但是,如果我没有设置父级,它将被设置为第一个选项,因为在表单中,父级有一个选择列表,选择是我创建的类别。你知道如何在选择列表中添加一个'默认'选项或一个空白选项吗? – Gina

+0

完成!感谢您的关注! – Gina