Daten einem Model zuweisen

Hallo,

Wie kann ich bestimmte Daten einem bestimmten Model zuweisen?

Ich habe ein Array mit Daten (ausgelesen mit dem Yii DAO)

jetzt will ich diese in ein Formular schreiben (validieren lassen)

und anschließend in die Datenbank schreiben.

Aber um ein Formular zu erstellen welcher die Daten validiert usw.

muss ich ein Model diesem Formual zuweisen.

Wie kann ich das machen? Wie kann ich vorgehen?

Hi und willkommen,

erst mal eine Frage: Gibt es einen Grund, warum du nicht ActiveRecords statt DAO verwendest? Damit hättest du automatisch gleich das Model für das Formular.

Ja, den gibt es,

ich benutze schon vorhandene (ziemlich komplizierte) SQL-Statements die mir sehr viele Daten liefern.

Ok, dann würd ich folgendes Vorschlagen:

Erweitere CFormModel und füge zunächst alle öffentlichen Attribute (ein Attribut pro Formularfeld) ein. Definiere dann in der rules()-Methode die Validierungsregeln für das Formular. Außerdem ist dieses Model der perfekte Ort, wo du deine SQL-Abfragen bzw. SQL-Statements zum Speichern mit unterbringen kannst. So hast du am Ende eine schön gekapselte Modelklasse.

Über $model->attributes kannst du alle Attribute gesammelt setzen bzw. auslesen, genauso wie das im Guide beschrieben ist.

Vielen Dank, es klappt.