Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:Zwei Fremdschlüssel in einer Tabelle, die auf eine andere Tabelle verweisen

Und los geht's:Sie haben die gleichen Aliase für die Relationen angegeben.

User:
  relations:
    viewed_by: 
       class: View
       local: user_id
       foreign: viewed_id
       type: many
       foreignType: one
       foreignAlias: viewed

    viewed:
      class: View
      local: user_id
      foreign: viewer_id
      type: many
      foreignType: one
      foreignAlias: viewer

Oder Sie richten die ganze Viele-zu-Viele-Beziehung anders ein:

User:
   relations:
     viewed_by: 
       class: User 
       local: viewed_id
       foreign: viewer_id,
       refClass: View
     viewed:
       class: User
       local:viewer_id
       foreign: viewed_id
       refClass: View

und View sollte so aussehen

View:
  columns:
    viewed_id:
      type: integer
      primary: true
    viewer_id:
      type: integer
      primary: true

Siehe die Doctrine-Dokumentation auf Viele-zu-Viele-Beziehungen .