2013-11-15 5 views
3

왜? 왜냐하면 하나의 양식에 대해 둘 이상의 모델/엔티티를 연결하는 데 사용하기를 원합니다.하나의 zend form에 여러 개의 수화기를 설정할 수 있습니까?

내가 생각하는 것? 제 생각에는 하나의 모델/엔티티에 모든 데이터를 가져 와서 여러 테이블 (매퍼 또는 게이트웨이 사용)에 채워야하지만 논리적으로 하나의 테이블에 대한 모델입니다.

제안 된 솔루션은 무엇입니까? 따라서 하나의 양식 데이터를 여러 테이블에 추가하려면 두 개의 모델을 사용해야합니다. 그러나 ZF2에서 양식은 $ form-> setHydrator를 사용하여 하나의 수화기를 가질 수 있습니다.

알아두면 좋겠습니까? 이 문제에 대한 다른 가능성.

감사합니다.

답변

4

formCollections 사용을 고려 했습니까?

기본적으로 필드와 수화기가있는 각 엔티티에 대해 필드 세트를 만듭니다. 그런 다음이 필드 세트를 포함하는 하나의 양식을 작성하십시오. 여기 자습서와 같은 많은

: http://framework.zend.com/manual/2.0/en/modules/zend.form.collections.html

+0

좋은 생각 (내가 지금 당신이 정교하게 저를 필요로하는 경우 예, 제공하기 어려운, 그래서 내 휴대 전화에있어, 알려주세요)에서 양식은 이미 필드 세트 및 콜렉션 (릴레이션 용)을 사용했지만 하이드레이트를 사용하지 않았습니다. 나는 그것의 해결책으로 AggregateHydrator를 생각하고 있었다. 니클을 그들에게 붙이자. 감사. :) – khunshan

+2

AggregateHydrator는 hydrators 세트를 순서대로 실행합니다. 그러나 한 번에 하나의 객체 만 채 웁니다. 두 개체를 수화시키는 두 개의 수화기가 있지만 각 개체에 여전히 사용되는 것은 의미합니다. 그것은 불필요한 오버 헤드입니다;), 아마도 작동했을 것입니다! ;) –

관련 문제