• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Dynamische Tabellen ohne EAV, Doctrine 2

sodiummd

New member
Guten morgen,

ich bin immer noch am grübel, wie man dynamische Tabellen am besten mit Doctrine umsetzen kann. Auf EAV wollte ich nun eigentlich doch verzichten, da der Aufwand zur groß wird... kennt jemand gute alternativen?
 

Blub?

New member
Ein konkretes Beispiel wäre gut. Was verstehst du unter dynamischen Tabellen? Sollen die zur Laufzeit ihre Datenstruktur ändern?
 

sodiummd

New member
Nicht direkt zur Laufzeit.
Gedacht war / ist, dass der Benutzer die Möglichkeit haben soll, über ein Interface bestimmte Tabellen um individuelle Spalten zu erweitern. Also mit Auswahl, was für ein Feld es ist, etc.
Nur würde ich behaupten, dass die Möglichkeit, mittels EAV für meine Anforderungen "too much" ist... Am liebsten wäre es mir, wenn die Tabelle direkt erweitert werden würde, was datenbanktechnisch kein Problem wäre, nur die "dynamische" Umsetzung in Doctrine bereitet mir Kopfzerbrechen.

Beispiel:
Code:
// Tabelle
accounts

// feste Felder
entityId, firstname, lastname,...

// individuelle Felder, vom Benutzer gewünscht
extCustomerCid, fbLink,...
 

Blub?

New member
Wäre es nicht sinnvoller eine Tabelle mit Definitionen (Id, Name; 1=>extCustomerId, 2=>fbLink) zu machen und die dann in einer AccountIndividual (Account_id, Definition_id, Wert) zu benutzen?
Alternativ wären noch No-SQL-Datenbanken vll für dich interessant (gibts glaub ich sogar eine Anbindung zu Doctrine, aber noch nicht getestet).
 

sodiummd

New member
Das geht ja dann schon in Richtung EAV, was ich ja vermeiden wollte. Ich würde halt gerne die ganzen joins vermeiden. Und NO-SQL muss ja vom Provider wieder verfügbar gemacht werden... nicht jeder host unterstützt das, denke ich mal.
 

Blub?

New member
Bei dir würde dann halt ein Benutzer bestimmen, dass er selbst z.B. einen FbLink als Feld hat, das bei den restlichen Benutzern leer/null bleibt. Endet dann damit, dass die Tabelle aus 10.000 Spalten besteht (und 99% Felder null sind). :D
Und einer Anwendung DDL-Rechte einzuräumen ist auch eine spannende Geschichte. :)
 
Oben