2014-03-12 24 views
0

我有一個名爲User類,我在哪裏可以找到像Nameemail性質,... 另外我有一個Membership類,涉及到User類和Community類,它有一個banish列。 我想以表格(選擇字段)的形式顯示User中的名稱,併爲所選用戶設置布爾型banish屬性爲true。我正在做下一個($page['community']Community實體)。如何使用表單在數據庫中設置布爾變量?

$form = $this->createFormBuilder() 
     ->add('banish', 'entity', array(
      'label' => $this->trans("Usuarios a expulsar"), 
      'class' => 'Pro\MembershipBundle\Entity\Membership', 
      'query_builder' => function(EntityRepository $er) use ($page){ 
       return $er->createQueryBuilder('membership')        
          ->innerjoin('Pro\UserBundle\Entity\User', 'u', 'WITH', 'membership.user = u') 
          ->where('membership.community = :community') 
        ->setParameter('community', $page['community']); 
       }, 

     )) 
     ->getForm(); 



    if ($this->getRequest()->isMethod('post') && $this->getRequest('form_id') == 'banish') { 
     if ($form->bind($this->getRequest())->isValid()) { 

      $this->getEntityManager()->flush(); 

      return $this->redirect($this->getRequest()->getUri() . '#preferences'); 
     } 
    } 
    $return['banishForm'] = $form->createView(); 

    // 

    return $return; 

和視圖:

<h2 id="banish">{{ "Expulsar miembros" | trans }}</h2> 

    <form method="post"> 
     <input type="hidden" name="form_id" value="banish"> 
     {{ form_widget(banishForm) }} 
     <input type="submit" class="btn" value="{{ "Guardar" | trans }}"> 
    </form> 

這似乎很好地工作。但是,當我選擇一個用戶並提交表格時,列中的Membership列未被設置爲true。有一些我錯過了,但我不知道是什麼。

回答

0

在你的用戶類中,你有級聯設置嗎?你需要像下面一行關於成員類(然後鏈接到社區類)的關係。

/** 
* @ORM\OneToOne(targetEntity="Membership", mappedBy="user", cascade={"all"}) 
*/ 
protected $membership 
相關問題