2017-10-15 3 views
-3

이벤트제품 하나의 이벤트에는 여러 제품이 있고 한 제품에는 여러 이벤트가있을 수 있습니다. 여기 나는 그것이 이라고 생각한다. OneToMany단방향 관계. 이벤트 생성의 형태로 사용 가능한 제품 목록을 데이터베이스에 추가하고 이벤트 (제품 모음)에 일부 제품을 추가하려고합니다.Symfony 2.8 : 일대 다 관계

어떻게해야할까요?


  1. ManyToMany을 구현하는 방법으로 onetomany 또는
  2. 이동을 구현하고 세 번째 테이블을 EventProducts을 만들

사람이 최선의 방법을 선택하는 데 도움이 어떻게 구현하는 수 그것?

답변

0

1 ManyToMany을 사용하는 것이 좋습니다

0

은 나를 위해 논리적 인 대답은 다 대다 관계 및 상자 브리지 테이블을 사용하는 것입니다, 당신의 필요에 따라 당신은 이벤트 만들 것입니다 수 있도록 EventProduct이 더 나은 옵션입니다 내가 가서 생성 생각 bidirectional or unidirectional relationship

0

을 사용할 수 있습니다 EventProduct 및 제품과 관련하여 oneTomany 또한 EventProduct.So EventPeoduct 가입 이벤트와의 관계 및 제품이 ORM\JoinTable(name="table_name")

class Product { 

/** 
* @ORM\ManyToMany(targetEntity="Event") 
* @ORM\JoinTable(name="products_events") 
*/ 
private $events; 

..... 
0

) 하나의 구현을 만들 것입니다 tomany :이 경우

당신은 이벤트 제품 목록을 얻을 수 있습니다 : $ 이벤트 -> getProducts

을하지만) ($ 제품 -> getEvent를 통해 제품 엔티티에서 이벤트에 액세스해야 할 때! !!! 이 수 EventProduct을

솔루션이 하나이며, 세 번째 엔티티를 생성

희망 : 관계가

2) ManyToMany을 구현하는 방법에 가서 세 번째 테이블 EventProducts을 만들 단방향이기 때문에이 불가능하다 도와 드리겠습니다.

0

개인적으로 많은 것을 수행하는 대신 제 3의 엔티티를 추가하는 것이 좋습니다. 특히 어느 날 (주문, 생성 날짜 등) 다른 필드를 추가해야 할 때 더욱 편리합니다.