2011-09-08 9 views
16

Chcę utworzyć unikalne ograniczenia na dwóch atrybutach. Konfiguracja YML z Doctrine2 nie jest dobrze udokumentowana. Próbuję więc przetransformować XML w YML. Co jest nie tak z tym kodem?Jak utworzyć unikalne ograniczenia w YML w Doctrine2?

unique-constraints: 
    name: event_user 
    columns: 
     event_id: ~ 
     user_id: ~ 

Z góry dziękuję.

Odpowiedz

29

Wreszcie udało mi się stworzyć ją przez ten kod:

uniqueConstraints: 
     event_user_idx: 
      columns: event_id,user_id 

ale dzięki Reuven za odpowiedź.

+2

Dzięki, jest to wyjątkowo trudne do znalezienia dobrej dokumentacji Doctrine-2 z Symfony-2. Tylko małe szczegóły dla tych, którzy nie zrozumieją, dlaczego ten nie działa - tęskni się za jedną zakładką przed 'event_user_idx' i inną przed' kolumnami'. Yaml jest wrażliwy na przestrzenie ... – guyaloni

+0

Czy jest podobny do 'unique_together' Django? – nmenego

+0

Który poziom pliku YAML zawiera sekcja uniqueContraints? – Andrew

8

Należy starać, że:

uniqueConstraints: 
    event_user: 
    columns: 
     - event_id 
     - user_id 
1

ja nie wiem, czy this part of the documentation został dodany niedawno, czy nie, ale tutaj jest to, co mówi:

# ECommerceProduct.orm.yml 
ECommerceProduct: 
    type: entity 
    fields: 
    # definition of some fields 
    uniqueConstraints: 
    search_idx: 
     columns: [ name, email ]