Hola amigos.
Estoy intentado crear un método setter para mi modelo e intentar llamarlo desde mi controlador.
En el controlador:
$_model = $this->loadModel();
$_model->etnia = 19;
$_model->save();
En el fichero del modelo:
protected function setEtnia()
{
Yii::trace("Test","file");
}
Así que el método setEtnia no es disparada cuando asigno 19 al campo "etnia". Lo he conseguido sólo si creo un override del método __set() dentro del fichero del modelo:
public function __set($name,$value)
{
$setter='set'.$name;
if(method_exists($this,$setter))
{
$this->$setter();
}
parent::__set($name,$value);
}
Entonces, setEtnia() sí se ejecuta.
Qué estoy haciendo mal?
Gracias.