La modification d'un attribut modèle ne sera pas se rendre à la DB dans CActiveRecord de Yii :: beforeSave ()

StackOverflow https://stackoverflow.com/questions/4000763

  •  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.

Était-ce utile?

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
scroll top