Modificar um atributo de modelo não chegará ao banco de dados no cactiverecord de Yii :: beforesave ()

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

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

Foi útil?

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