Jestem nowicjuszem w Doctrine, mongo i ustawieniu ODM i podczas grania z tą konfiguracją w ZF1 Próbuję replikować prostą do wielu referencję z przymus. Oto sytuacja i chciałbym, aby niektórzy doradzili, jak to osiągnąć.Doctrine ODM MongoDB - Replikacja prostego Jeden do wielu odniesień z ograniczeniami
jest to proste dla użytkownika> mapowanie rolę, tak w sytuacji, sql musiałbym tabele następująco:
Users - id - name - role_id Roles - id - name
Wtedy ograniczenie klucza obcego będzie ustawiony na użytkowników ROLE_ID mapować do roli ID. I po usunięciu roli zostanie wywołane ograniczenie klucza obcego, zatrzymujące operację.
Jak osiągnąć ten sam cel w Docrines MongoDB ODM?
Do tej pory grałem z różnymi rodzajami adnotacji na jednostki użytkownika w tym @ReferenceOne @ReferenceMany z różnymi opcjami kaskadowych ...
Wybór opuścił mnie teraz jest wdrożenie @PreUpdate, @PreRemove wydarzenia w cyklu życia w encji "rola", a następnie sprawdź, czy żaden użytkownik nie używa tej roli, jeśli są one w trakcie aktualizacji, zmień odniesienie do dopasowania lub przy usuwaniu, wyślij wyjątek.
Czy jestem tutaj, czy zgubiłem?
Dziękuję
Si
Świetna odpowiedź, dziękuję bardzo! –
Bez problemu. Przeszedłem ten sam ból, co ty, gdy zaczynałeś z Doctrine. To niesamowite, gdy już to zrozumiesz! –
Myślę, że jest to naprawdę dobre. To sprawia, że tworzenie warstwy usługi nad wierzchołkiem jest znacznie łatwiejsze. Jeden mały punkt to I Role :: hasUsers() powinien powrócić! $ This-> users-> isEmpty(); odwrócić wartość logiczną. Bardzo dziękuję za pomoc, a to działa jak marzenie. –