2014-01-14 2 views
0

나는 두 개의 실체를 가지고 있습니다 : 주문OrderStatus.
주문 한 상태를 처리 할 수 ​​ 기록 (예를 들어, processing 또는 processed 또는 confirmation 또는 inactive 또는 다른 enything).
OrderStatus 레코드는 여러 가지 주문을 처리 할 수 ​​있습니다.적합한 교리 관계 매핑

어떤 맵핑을 사용해야합니까? one-to-one unidirectional으로 사용하는 것이 맞습니까?many-to-many unidirectional입니다. 주문 상태?

저는 YML 매핑 구성을 사용합니다.

미리 감사드립니다.

답변

2

Orders 엔티티가 하나의 상태를 가질 수 있고 OrderStatus가 많은 Orders를 가질 수 있으면 이것은 일대 다 기본입니다.

OrderStatus: 
    type: entity 
    oneToMany: 
    orders: 
     targetEntity: Order 
     mappedBy: orderStatus 

Order: 
    type: entity 
    manyToOne: 
    orderStatus: 
     targetEntity: OrderStatus 
     inversedBy: orders 
     joinColumn: 
     name: orderStatus_id 
     referencedColumnName: id 

오더 대신 엔티티 주문의 이름을 지정하는 것이 좋습니다. 심포니는 마법적인 다중화와 getters-setter를 사용할 수 있기 때문에. 나는 당신이 그것을 가지고있는 방식으로, 방법과 매핑에 오류가있을 것이라고 생각합니다. 또한

, 교리 매핑에 대한 docs을 확인

+0

예, 주문 명령 줄에 의해 실체 만들려고했습니다'의 PHP 응용 프로그램/콘솔 생성 : 교리를 : 엔티티 --with-저장소 --entity = AcmeMyBundle : Order'하지만 'Order'가 예약어이기 때문에 오류가 발생했습니다. 어쨌든, 답변 해 주셔서 감사합니다! –