2017-10-23 3 views
2

사용자가 단일 양식을 작성한 다음 여러 Doctrine 엔터티 (Company 엔터티 및 관련 User 엔터티)를 만들고 저장하려고합니다.임베디드 양식을 통해 중간 엔터티를 저장하는 방법

나는 임베디드 양식에 대해 읽었으며 관련 엔터티에 대한 기본 양식에 어떻게 "하위 양식"을 포함시킬 수 있는지 읽었습니다.

그러나 내 두 엔티티는 중개 엔티티 Team Membership - 조인 테이블 companies_users 위에 만들어진 엔티티를 통해 관련됩니다. 이 엔티티는 각 관계에 관한 추가 데이터를 추적하기 때문에 필요합니다.

이 문제에 대한 문서를 찾을 수 없었습니다. 이 경우 embedded 양식을 사용하는 것이 가능하거나 실용적입니까? 대상 관련 엔터티 (User)에 대한 포함 된 양식이 중간 엔터티를 만들어야한다고 정의하는 방법이 있습니까?

Validator 주석을 사용하고 양식 클래스에서 직접 유효성 검사 규칙을 설정하면 양식이 데이터 클래스를 갖기를 바랍니다.

답장을 보내 주셔서 감사합니다.

답변

2

중간 엔터티의 폼이 필드를 포함하지 않은 경우에도 만들 수 있습니다. TeammembershipType에서 다음

 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('team_membership', TeammembershipType::class, [ 
       'label' => false 
      ]); 
    } 

과 : 사실, 내 프로젝트의 일부에 이런 식으로 뭔가를이 사용

 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('user', UserType::class, [ 
       'label' => false 
      ]); 
    } 

또한 중간 형태의 행사에 팀 회원 데이터를 설정할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. –