Hi an alle... Also ich hab ein problem.. ich habe folgende tabellen: sms_halle: ID, name, notiz, tjms_hallenID, tjms_kundenID, ..... mediakatselecthalle: mediaKatID, kundenID, hallenID mediakat: mediaKatID, medianame, dateiname..... So. ich will jetzt eine habtm beziehung zwischen sms_halle und mediakat machen. in Beziehung zu einander stehen sms_halle.tjms_hallenID = mediakatselecthalle.hallenID und sms_halle.tjms_kundenID = mediakatselecthalle.kundenID wie stelle ich das an? Hoffe ich konnte mich deutchlich genug ausdrücken ;-) lg nico
on 2009-03-20 09:44
on 2009-03-20 09:58
Am 20.03.2009 um 09:44 schrieb Nils Berta: > > > wie stelle ich das an? war um ohne id ? http://ramblings.gibberishcode.net/archives/rails-... http://www.jumbabox.com/2008/06/ruby-on-rails-many... http://railscasts.com/episodes/archive Gruß von Werner der auch so einige Fragen für dieses Thema noch hat..
on 2009-03-20 10:06
Werner Laude wrote: > Am 20.03.2009 um 09:44 schrieb Nils Berta: > >> >> >> wie stelle ich das an? > > war um ohne id ? > > http://ramblings.gibberishcode.net/archives/rails-... > http://www.jumbabox.com/2008/06/ruby-on-rails-many... > http://railscasts.com/episodes/archive > > Gru� von Werner der auch so einige Fragen f�r dieses Thema noch hat.. Achso, ich sollte noch erwähnen, dass die Datenbank auf einem Server läuft, dessen Anwendungen genau die Datenbank so wie sie ist verwendet. ich habe also leider nicht die möglichkeit irgendwas zu ändern. *gr* Aber sonst wäre es auch wirklich zu einfach.
on 2009-03-20 11:55
Hi Nils,
also auf den ersten Blick hätte ich angenommen, dass das ganze mit
"has_many :through" gelöst werden kann.
Aber da die Tabellenattribute ja leider nicht den Rails-Konventionen
entsprechen und du diese nicht ändern kannst, geht dies wohl nicht.
(Ich lasse mich da gern verbessern.)
Ich würde es in etwa wie folgt machen. Du legst im Model, das zu
sms_halle gehört, eine Funktion an, die dir mithilfe eines
SQL-Statements direkt die zugehörigen mediakats liefert:
class SmsHalle < ActiveRecord::Base
def mediakats
Mediakat.find_by_sql("select mk.mediaKatID, mk.medianame, " +
"mk.dateiname from sms_halle s " +
"join mediakatselecthalle m "+
"on s.tjms_hallenID=m.hallenId" +
"and s.tjms_kundenID=m.kundenId " +
"join mediakat mk " +
"on m.mediaKatID=mk.mediaKatID " +
"where s.id="+self.id)
end
end
In einem Kontroller könnte das dann so aussehen:
@sms_halle = SmsHalle.find(id)
@mediakats = @sms_halle.mediakats
Ich habe das jetzt schnell runtergetippt, da sind sicher noch einige
Fehler drin. Aber ich hoffe die Idee ist klar geworden.
Viele Grüße
Timo
Am Freitag, den 20.03.2009, 10:06 +0100 schrieb Nils Berta:
on 2009-03-20 13:15
So simple die idee.. da hätte ich auch selber drauf kommen können.. ich danke für die hilfe.. ich werde es wohl so machen.. nochmals danke ;-) viele grüße nils
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.