2011-09-08 4 views
0

J'essaie de réaliser un tel effet sous la forme de créer une nouvelle catégorie: J'ajoute une 'liste de sélection' au formulaire pour montrer toute la catégorie que j'ai créée, donc j'ai essayé:symfony 2: une question sur la forme

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

alors je veux savoir que: si la isRoot de case est cochée, l'option parent est défini "root", donc je l'ai écrit:

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

Cependant, il me donne une exception: prévue argument de type "object", "string" donné

quoi de neuf? Comment résoudre le problème.

Merci d'avance! :)

Répondre

0

On dirait que votre problème est que le

->setParent() 

attend un objet de type Catégorie.

Étant donné que vous ne souhaitez pas sélectionner de catégorie parente pour les noeuds racine, vous ne devez pas définir le parent.

+0

Mais si je ne définis pas le parent, la première option sera définie, car dans le formulaire, il y a une liste de sélection pour parent, et les choix sont la catégorie que j'ai créée. Savez-vous comment ajouter une option «par défaut» ou une option vide à la liste de sélection? – Gina

+0

Soleved! Merci de votre attention! – Gina