Sabe quando a solução parece simples, mas ficamos agarrados sem conseguir resolver... pois é. Segue abaixo o meu problema:
Cenário:
- Estou trabalhando com MySQL, com os campos no formato Date.
- Tenho um cadastro de Vendas, com 3 Models (cabeçalho, Itens e Pagamentos)
- Utilizo a extension i18n-datetime-behavior
- Na actionUpdate (por exemplo), após o $model_cabecalho passar pelo método ->save(), se houver algum erro encontrado nos dois outros Models, preciso emitir uma mensagem de erro, fazer um rollback() e voltar ao formulário para o usuário arrumar o problema.
Erro:
O $model_cabecalho volta com a data no formato do MySQL (yyyy-MM-dd).
Analisando o behavior, entendo que isso foi feito pelo evento: "public function beforeSave($event){"
Tentei executar o comando abaixo, logo antes do render da actionUpdate... para devolver o formato para i18n, mas agora ele força a data atual no campo, ao invés de mostrar o conteúdo do que estava no model.
$model_cabec->data = Yii::app()->dateFormatter->formatDateTime(
CDateTimeParser::parse($model_cabec->data, 'yyyy-MM-dd'),'medium',null);
$this->render('update',array(
....
Alguém pode me ajudar a entender o que está acontecendo ?
Tem algum behavior / extension mais atualizada, mais completa ?
Muito obrigado.
Referências:
http://www.yiiframew...post__p__115785
http://www.yiiframew.../en/topics.i18n
e outras pesquisas...

Help













