Hallo PHP Freaks,
im Rahmen eines Projektes wird eine Möglichkeit gesucht SQL Statements dynamisch zu erzeugen.
Es gibt vier verschiedene Ansichten von Stammdaten und den dazugehörigen Unterdaten. In jedem Ansichtsmodi werden verschiedene Unterdaten abgerufen, woraus sich sehr verschiedene SQL Statements ergeben.
Um nun nicht jeden einzellnen Ansichtsmodus einzeln zu schreiben, wird nun Überlegt eine Table Statement Map zu erstellen, in der alle Views und die zusammengehörigen Tables sowie die entsprechenden "Where" und "Co" Klauseln definiert werden.
Folgend ein Ausschnitt aus der Table Statement Map
Der Variablenvalue wird nach der Abarbeitung durch die entsprechende Variable ersetzt.
Die Frage die sich mir nun ergibt ist, gibt es vielleicht noch andere Lösungsansätze die mir verschlossen geblieben sind?
Bin mir bei der Lösung nicht so sicher, ob diese die Optimale ist!
Freue mich über jede konstruktive Antwort.
LG Bexsta
im Rahmen eines Projektes wird eine Möglichkeit gesucht SQL Statements dynamisch zu erzeugen.
Es gibt vier verschiedene Ansichten von Stammdaten und den dazugehörigen Unterdaten. In jedem Ansichtsmodi werden verschiedene Unterdaten abgerufen, woraus sich sehr verschiedene SQL Statements ergeben.
Um nun nicht jeden einzellnen Ansichtsmodus einzeln zu schreiben, wird nun Überlegt eine Table Statement Map zu erstellen, in der alle Views und die zusammengehörigen Tables sowie die entsprechenden "Where" und "Co" Klauseln definiert werden.
Folgend ein Ausschnitt aus der Table Statement Map
Code:
$table_statement_map = [ // View Mod "form" => [ // SITE TYP "kuenstler" => [ // tables "kuenstler" => [ "where" => [ "id" => "id", ] ], "files" => [ "where" => [ "kuenstler_id" => "kuenstler_id", "typ" => "img", ] ] ], "veranstaltung" => [ "events" => [ "where" => [ "id" => "id", "typ" => "veranstaltung", ] ], "files" => [ "where" => [ "events_id" => "id", "typ" => "img", ] ], "kuenstler" => [ "where" => [ "kuenstler_id" => "kuenstler_id", ] ], "files" => [ "where" => [ "kuenstler_id" => "kuenstler_id", "typ" => "img", ] ], "vsk" => [ "order by" => [ 0 => "name", ] ], ], ], ]
Die Frage die sich mir nun ergibt ist, gibt es vielleicht noch andere Lösungsansätze die mir verschlossen geblieben sind?
Bin mir bei der Lösung nicht so sicher, ob diese die Optimale ist!
Freue mich über jede konstruktive Antwort.
LG Bexsta
Kommentar