Location と 1 対多の関係を持つ Company エンティティがあります。(会社は複数の場所を持つことができます)。
場所にはブール値の「isPrimaryLocation」があります。
Location をデータベースに保存 (新規作成/編集) する前に、常に次のロジックをチェックする必要があります。
会社の場所がある場合、1 つの isPrimaryLocation が必要であり、最大 1 つの場所が isPrimaryLocation であることを強制します。
だから私の質問:
- これはDoctrine Annotationsで強制できるものですか?
- これは、 LifeCycleCallbacksと PrePersistで行うべきことですか?
- これはCustom Event と EventListenerですべきことですか?