0
은 내가 Name
, email
같은 호텔을 찾을 수 User
라는 이름의 클래스를 가지고 ... 또한 나는 banish
열이 User
클래스와 Community
클래스에 관련된 Membership
클래스를 가지고있다. User
의 이름을 양식 (선택 필드)에 표시하고 부울 banish
속성을 선택한 사용자의 true
으로 설정하려고합니다. 나는 다음을하고있다. ($page['community']
은 Community
엔티티이다.) 양식을 사용하여 DB에 부울 변수를 설정하는 방법은 무엇입니까?
$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
의 banish
열이 true
으로 설정되지 않습니다. 내가 누락 된 것이 있지만 무엇을 모르겠습니다.