Modificar um atributo de modelo não chegará ao banco de dados no cactiverecord de Yii :: beforesave ()
-
25-09-2019 - |
Pergunta
Estou implementando hitml heritização para campos de formulário, no método beforesave () de um modelo. Mas não funciona.
Exemplo:
public function beforeSave()
{
$this->anAttribute = 'somevalue';
var_dump( $this->anAttribute );
}
somevalue
é realmente emitido, mas nunca chega ao banco de dados, portanto, entre BeforeSave () e Save (), o valor é perdido e o que é salvo é o valor do campo de formulário original.
Solução
Você tem que mudar sua linha
public function beforeSave()
{
$this->anAttribute = 'somevalue';
return true;
}
Outras dicas
Que tal usar depois devalidado () em vez de beforesave ()?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow