Letzter Eingegebener Wert Als Standardwert

Hallo,

wie kann man mit Yii den letzten in ein bestimmtes Formularfeld eingegebenen Wert nach dem Speichern des Datensatzes als Standardwert für dieses Feld setzen?

Ich weiß nicht, welche Validierungsregel ich hier definieren muss, um das zu erreichen.

Wird wahrscheinlich ganz einfach sein aber ich kann es trotzdem nicht :angry: .

Default Werte die kannst du direkt in der DB setzten. Wenn du dann über ein ActiveFrom gehst hast du dort den Default Wert bei dem bestimmtem Feld.

Was du aber woll haben möchtest ist was anders.

Dort musst du dann deine Tabelle denn letzten Wert abfragen, der gespeichert wurde und mit diesem belegst du dein Model vor, fertig.

Ich würde zu dem, was der Julian da geschrieben hat, noch den Einsatz des CDefaultValueValidators empfehlen.

Yii::app()->user->setState(‘v’, $model->attribute);

Yii::app()->user->getState(‘v’, $default);

Mein Problem liegt vor allem darin, dass ich die Extension multiModelForm verwende.

Hier mein Szenario:

Ein Formular zeigt einen Datensatz aus einer Tabelle Sammelhefte an und als Detailtabelle jene Einträge aus der Tabelle Noten, die zu diesem Sammelheft gehören.

Nun möchte ich, dass beim Hinzufügen einer neuen Zeile zur Detailtabelle in einem bestimmten Eingabefeld jeweils von der zuletzt hinzugefügten Zeile der Wert übernommen wird und als Vorgabewert in der neuen Zeile steht. Gibt es eine Möglichkeit, Vorgabewerte in der Extension multiModelForm zu konfigurieren?

Ich kenne multiModelForm nicht, aber sie dir mal meine defaultpersister extension an:

http://www.yiiframework.com/extension/defaultpersister

Das ist ein Behavior, dass du an deine Models anhängen kannst. Damit kannst du aktuelle Werte als Default für den aktuellen Benutzer speichern und später wieder laden. Das ganze ist aber auf den aktuellen Nutzer beschränkt, da die Daten in der Session gehalten werden.