Yii Framework Forum: Koppeltabellen - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Koppeltabellen Rate Topic: -----

#1 User is offline   Lollinger.de 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 79
  • Joined: 19-May 09
  • Location:Ulm, Germany

Posted 29 May 2009 - 11:28 AM

Hallo,

ich hoffe ich nerve nicht langsam :-D

Ich bin gerade dabei ein Programm mit sehr vielen Koppeltabellen in der Datenbank zu erstellen. Wie löst man das Korrekt in Yii und korrekt im MVC Muster auf? Man kann sich ja nur ein Modell von Koppeltabellen mit einem zusammengesetzten Primärschlüssel erstellen lassen, CRUD geht leider nicht. Ich hab dann sogar ganz auf das Modell der Koppeltabellen verzeichtet und im Modell einer der beiden Tabellen die die Tabelle verbindet Methoden erstellt mit denen ich Datensätze in die Koppeltabelle einfügen kann (hartes SQL). Zum Beispiel über addFrage($idFragebogen) kann ich die gerade angezeigte Frage über ein Formular einem Fragebogen über eine Koppeltabelle zuweisen. Ich hab das dann so umgesetzt das ich am Anfang des Views entscheide welcher Fall eintritt (create/update/delete) und das dann über ifs aufgedröselt. In den If zweigen rufe ich dann die schon erwähnten methoden mit den objekten des views auf. Ist das so korrekt? Gibt es eine einfachere/bessere lösung (ich muss das noch bei 6 weiteren Kopplungen machen).

Grüße

Martin
0

#2 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,016
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 30 May 2009 - 03:26 AM

Fragen kostet nichts, also nur zu ;)

Prinzipiell find ich den Ansatz mit addFrage() vernünftig. Ob du dort dann SQL oder ein eigenes Model verwendest ist Geschmackssache. Die Unterscheidung im View hab ich aber noch nicht ganz kapiert. Kannst du da evtl. kurz etwas Pseudo-Code zeigen, wie die Logik dort aussieht?
0

#3 User is offline   Lollinger.de 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 79
  • Joined: 19-May 09
  • Location:Ulm, Germany

Posted 30 May 2009 - 09:36 AM

Zum Beispiel in der show.php habe ich ein Formular am ende eingebaut das über $_SERVER['php_self'] sich selbst als Ziel hat. Am Anfang der Datei habe ich dann



Diese Fallunterscheidung eingebaut die dann wiederrum managt welche Methoden wie Aufgerufen werden. Die Frage ist halt, ist das Sauber so? Oder kann ich das irgendwie in einen Controller packen und wenn ja wie? Ein ausführliches Beispiel wäre Klasse wenn das so nicht gut ist, blicks nicht so gut mit den ein Zeilen Beispielen :-D
0

#4 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,016
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 30 May 2009 - 05:06 PM

Wieso packst du das nicht 1:1 in die Action in deinem Controller? Im View sollte wirklich nur Ausgabe/Anzeige passieren. Sämtliche Geschäftslogik sollte vorher im Controller abgewickelt werden.

Zur Logik lässt sich so noch nicht viel sagen. Evtl. könntest du ja in ein paar Sätzen beschreiben, welche Models es gibt, wie sie zueinander in Beziehung stehen, und was auf der Seite grob passieren soll.
0

#5 User is offline   Lollinger.de 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 79
  • Joined: 19-May 09
  • Location:Ulm, Germany

Posted 31 May 2009 - 05:19 AM

Ja ich habs jetzt in den Controller reingepcakt der dann die Methoden des des Modells aufruft. Leider funktioniert die Rechteverwaltung nicht. Der Controller sieht wie folgt aus:



Warum wird die action create oder was auch immer trotzdem aufgerufen wenn ich die index.php?r=fragefragebogen/create aufrufe? Normal musste da dann doch Unauthorized oder was uach immer kommen, tut es aber nicht.
0

#6 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,016
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 31 May 2009 - 06:37 AM

1. Du musst den accessControl-Filter für den Controller aktivieren.


2. Die URLs würd ich anders erzeugen, sonst bekommst du später evtl. Probleme mit friendly URLs, falls du die verwenden möchtest:


0

#7 User is offline   Lollinger.de 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 79
  • Joined: 19-May 09
  • Location:Ulm, Germany

Posted 31 May 2009 - 08:18 AM

ok super, vielen danke jetzt funktioniert alles tadellos. Danke für den tipp mit den urls, ist echt besser so.
0

#8 User is offline   yingyang 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 19-March 09

Posted 30 July 2009 - 02:25 AM

Ähmmm, hi, also mir fehlt hier was, einige Inhalte, z.B. die Links, werden nicht angezeigt... kann man die links in diesem Thread bitte nochmal einfügen, interessiert mich auch, danke!
0

#9 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,016
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 30 July 2009 - 02:41 AM

Hmm. Das scheint bei der Umstellung auf das neue Forum verloren gegangen zu sein. Ich poste mal in den entsprechenden Thread, evtl. liegen die alten Daten noch irgendwo und können gerettet werden.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users