Hallo zusammen,
ich versuche über Doctrine (1.2) folgendes umzusetzen:
Code:
message:
tableName: messages
columns:
id:
type: integer(4)
primary: true
unsigned: true
autoincrement: true
sender_id:
type: integer(4)
unsigned: true
receiver_type:
type integer(4)
unsigned: true
receiver_id:
type: integer(4)
unsigned: true
subject:
type: string(512)
message:
type: string(4096)
relations:
sender:
class: user
local: sender_id
foreign: id
userMessage:
inheritance:
extends: message
type: column_aggregation
keyField: receiver_type
keyValue: 1
relations:
receiver:
class: user
local: receiver_id
foreign: id
groupMessage:
inheritance:
extends: message
type: column_aggregation
keyField: receiver_type
keyValue: 2
relations:
receiver:
class: group
local: receiver_id
foreign: id
das klappt auch soweit, also kurz zur Bedeutung:
Spalte receiver_type kann 1 oder 2 sein: 1=User, 2=Group
Spalte receiver_id enthält dann entweder eine user_id oder eine group_id, je nach receiver_type
Das Problem was ich jetzt habe: Ich möchte für receiver_type eine Tabelle anlegen, damit man neue hinzufügen kann. Dabei entstehen folgende Probleme:
- der KeyValue der erbenden Klassen ist bisher fest, der müsste irgendwie aus der neuen Tabelle kommen
- ich müsste so für jeden neuen receiver_type mein Model verändern
Kann mir da mal jemand auf die Sprünge helfen? Oder gibt Doctrine eine solche Funktionalität nicht her?
Gruß
cy