2014-04-11 3 views
0

select 요소에 대한 주석에 문제가 있습니다. 나는 항상 입력 필드를 얻는다.ZF2 Doctrine Form 주석 유형 선택

<div class="form-group "><label>test:</label><input type="number" name="test" class="form-control" value="1"></div> 

내 주석은 다음과 같습니다.

/** 
* @var integer 
* 
* @ORM\Column(name="test", type="integer", nullable=false) 
* @Annotation\Type("Zend\Form\Element\Select") 
* @Annotation\Filter({"name":"StringTrim"}) 
* @Annotation\Options({"label":"test:", "value_options":{"0":"yes","1":"no"}}) 
*/ 
private $persistent = '0'; 

내가 뭔가를 잊었습니까?

종류의 안부 :) 내 행동

UPDATE 2014년 4월 23일

은 내가

$builder = new DoctrineAnnotationBuilder($entityManager); 
    $form = $builder->createForm($user); 
    $form->setHydrator(new DoctrineHydrator($entityManager,'Test\Entity\Test')); 

와 양식을 작성하고이 내이다

<? 
    $form = $this->form; 
    $form->setAttribute('action', $this->url('user/edit', array('id' => $this->id))); //'contact/process')); 
    $form->setAttribute('method', 'post'); 

    echo $this->form()->openTag($form); 
    echo $this->formCollection($form); 
    echo $this->form()->closeTag(); 
+0

보기 파일에서 양식을 어떻게 렌더링합니까? –

+0

글쎄, 나는 아주 똑같은 문제가있다. 정수 형식의 ORM/열을 만들고 @Annotation \ Type Zend \ Form \ Element \ Select을 할당했지만 예외가 발생합니다. "Zend \ Form \ View \ Helper \ FormSelect :: render를 사용하려면 요소의 유형이 Zend \ Form \ Element \ Select "요소를 formSelect 뷰 도우미로 렌더링하려고하고 Doctrine이 Zend \ Form \ Element \ Number 유형의 요소를 만들었 기 때문에. 대안은 "언어"와 "보안 질문" – razor7

+0

과 같은 다른 종류의 멤버 변수에 대해 이미 저에게 효과가 있었던 "test"의 가능한 값에 대해 새로운 Doctrine ORM 엔티티를 선언하는 것입니다. 나는 정확히 같은 문제가있다 ... –

답변

0

Check the answer here...

그게 도움이 될 수도 있지만 도움이되지 않을 수도 있지만 최소한 시도해 볼만한 가치가 있습니다 ...

+0

실제로 주석 자체가 작동하고있다. 나는 그것을 시도하지만 아무런 차이가 없다. –

0

이건 약간 오래된 것입니다 만, 참고로, 이것은 교리 내의 엔티티 속성 docblock입니다. 고정 목록을 렌더링하려면 다음을 선택하십시오.

/** 
* @var string 
* 
* @ORM\Column(name="layout", type="string", length=45, nullable=true) 
* @Annotation\Type("Zend\Form\Element\Select") 
* @Annotation\Options({ 
* "label":"Layout:", 
* "value_options":{"":"", "one-page":"One Page", "multi-page":"Multi-page"} 
* })  
*/ 
private $layout; 

최신 ZF 2.3. * 사용.

0

동일한 문제가 있습니다. Annotation을 통해 내 선택 상자를 구축하십시오. 나는 하이드 레이터가 정말로 그것을하지 않는다고 생각한다 (Doctrine 2 ORM v 1, * 및 ZF2.5).

그냥 반복자를 사용하고 사용

법인 :

use Doctrine\ORM\Mapping as ORM; 
use Zend\Form\Annotation; 
    /** 
    * @var \Backend\Entity\Mastercategory 
    * 
    * @Annotation\Type("Zend\Form\Element\Select") 
    * @ORM\ManyToOne(targetEntity="Backend\Entity\Mastercategory") 
    * @ORM\JoinColumns({ 
    * @ORM\JoinColumn(name="sub_pid", referencedColumnName="id") 
    * }) 
    */ 
    private $subPid; 

컨트롤러 :

//mastercategories is my Object EntityClass actually with getter_setter 
$arr = new \ArrayIterator($mastercategories); 
     $masterToArr = array(); 
     while ($arr->valid()) 
     { 
      $mid = $arr->current()->getId(); 
      $mname = $arr->current()->getMasterName(); 
      $masterToArr[$mid] = $mname; 
      $arr->next(); 
     } 
     $form->get('subPid')->setOptions(array('type' => 'select', 'value_options' => $masterToArr)); 

뷰어 :

<?php echo $this->formSelect($form->get('subPid')); ?> 

나는이 채울 수있는 좋은 생각이 아니다 알고 컨트롤러와 함께 이 같은 물건이지만 잘 작동합니다.