Hallo,
ich möchte Schlagwörter zu einem Datensatz hinzufügen. Da ich nicht sicher bin, wie man das am besten macht, erlaube ich mir, hier zu fragen. Ich möchte nicht (wie schon öfter) etwas machen, das sich im Nachhinein als schlecht geeignet herausstellt.
Methode 1:
Ich erzeuce ein Feld in der Tabelle Noten, z.B. Schlagwoerter, in welchem der Benutzer die Schlagwörter - eventuell durch Beistriche getrennt, eingeben kann. Um die Schreibarbeit zu erleichtern, könnte eine Auswahlliste mit Schlagwörtern dienen. Die Auswahlliste wird durch eine Tabelle Schlagwoerter befüllt. Per JavaScript bzw. JQuery müsste dann das ausgewählte Schlagwort in das Input Feld eingefügt (bzw. hinzugefügt) werden.
Das Suchen nach einem bestimmten Schlagwort in der GridView ist einfach.
Nachteil: Viele redundante Einträge.
Methode 2:
Das ganze irgendwie mit Beziehungen lösen - aber da blicke ich nicht ganz durch, glaube ich.
Ich brauche da wohl eine Hilfstabelle mit Noten_Id und Schlagwort_Id als Fremdschlüssel, die auf den jeweiligen Primärschlüssel in der Tabelle Noten und Schlagwoerter verweisen. Ich nenne diese Verbindungstabelle tbl_noten_schlagw.
Dann muss ich eine MANY_MANY Relation definieren - im Model Noten, denke ich:
public function relations()
{
return array(
'schlagwoerter'=>array(self::MANY_MANY, 'Schlagwoerter',
'tbl_noten_schlagw(Noten_Id, Schlagw_Id)'),
);
}
}
Bin ich da auf dem richtigen Weg oder schießt man da mit Kanonen auf Spatzen?
Und dann wäre ja noch das Problem, dass man in einer Grid_View, die auf der Notentabelle beruht, nach Schlagwörtern suchen sollte können.
Bitte um Nachsicht für die Anfängerfragen.