2010-03-02 7 views
1

내 sf 1.4 + doctrine 1.2 프로젝트에 일대 다 관계가 필요합니다.Symfony + 교리 + 일대 다 관계

User: 
    columns: 
    id: 
     type: integer(4) 
     primary: true 
     autoincrement: true 
    contact_id: 
     type: integer(4) 
    username: 
     type: string(255) 
    password: 
     type: string(255) 

Phonenumber: 
    columns: 
    id: 
     type: integer(4) 
     primary: true 
     autoincrement: true 
    name: 
     type: string(255) 
    user_id: 
     type: integer(4) 
    relations: 
    User: 
     foreignAlias: Phonenumbers 

그런 다음, 내 스키마를 재 구축하고, 사용자 및 여기서 Phonenumber를위한 백엔드 모듈을 생성합니다 난 그냥 이런 관계를 복사.

Phonenumber 관리자 패널에서 사용자로 선택 상자를 사용하여 사용자를 설정할 수 있습니다. 그러나 사용자 관리 패널에는 사용자가 여러 개의 전화 번호를 선택할 수있는 전화 번호 목록이 없습니다. 여기에 관계를 많이 추가하려면 어떻게해야합니까? 당신의 사용자에서

답변

4

나는 그것이 사용자가 많은 관계하지 PHONENUMBERS있을 것이다 가능성이 높습니다로 라운드 그것은이 방법을 선호하는, 그래서이 한 곳에서 모든 것을 유지 ....

:

relations: 
    Phonenumber: 
    class: Phonenumber // model name for relation 
    local: id   // key in this table 
    foreign: id   // key in the referenced table 
    type: many   // User has MANY phonenumbers 
    foreignType: one // Phonenumber has ONE user 
    alias: Phonenumber // What a user calls Phonenumber 
    foreignAlias: User // What a Phonenumber calls User 

Doctrine이 자동으로 테이블을 만들도록 허용하지 않고 두 테이블 모두에 "ID"를 지정했다면 "로컬"및 "외부"테스트를 포함해야 할 수도 있습니다.

+0

외국 참조는 'user_id'가되어야한다고 생각하지만 +1 – nortron

+0

@Cryo ... 실제로 수정 해 주셔서 감사합니다. – Tom