Bom, to procurando uma forma "elegante" de formatar os valores que serão exibidos, em um lugar único (Preferencialmente definido no model, para poder utilizar a mesma formatação em vários lugares do sistema.
Por exemplo:
Tenho uma tabela de clientes, e este tem um campo chamado código. Na base, o código é inteiro, mas no sistema, deve aparecer o código com 6 caracteres completados com "0" a esquerda.
Se eu fizer na minha view ou no controller, terei que fazer em cada lugar que utilizar este field, por isso a idéia de fazer no controller, mas, eu não posso utilizar behaviors, pois, eu não poderia formatar um novo valor não gravado. A formatação seria pelo evento AfterFind. Então, usando behaviors o código abaixo não iria funcionar:
$model->codigo = '1'; echo $model->codigo; /* aqui exibiria o valor "1", mas eu queria que exibisse "000001", no caso o valor já formatado. */
Não funciona pq não existe um evento que possa tratar isso. Um possível "beforeGetField" da vida.
Atualmente só consegui fazer sobreescrevendo o método mágico __get da classe CActiveRecord, mas não achei que foi uma boa solução.
Alguem sabe se existe alguma coisa já padrão do Yii pra isso?

Help

















