La modification d'un attribut modèle ne sera pas se rendre à la DB dans CActiveRecord de Yii :: beforeSave ()
-
25-09-2019 - |
Question
Je suis mise en œuvre pour le nettoyage HTML champs de formulaire, la méthode beforeSave () d'un modèle. Mais cela ne fonctionne pas.
Exemple:
public function beforeSave()
{
$this->anAttribute = 'somevalue';
var_dump( $this->anAttribute );
}
somevalue
est en fait sorti, mais il ne fait jamais la DB, donc entre beforeSave () et save () la valeur est perdue et ce qui est sauvé est la valeur du champ de forme originale.
La solution
Vous devez changer votre ligne
public function beforeSave()
{
$this->anAttribute = 'somevalue';
return true;
}
Autres conseils
Comment l'utilisation afterValidate () au lieu de beforeSave ()?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow