[Resolvido] Gravação De Campo Tipo Enum

Numa das manutenções que tenho que fazer, precisei adicionar um campo e decidi criar ele como Enum, já que vi que o sistema já utilizava campos assim.

Então olhei como era tratado o campo e implementei meu novo campo.

Mas o danado gravou certo na adição, mas na edição ele não salva.

Aí fui veriricar se existia algum campo desse tipo que estava gravando certinho na edição.

E não estavam, nenhum grava certo…

Vou mostrar como foi programado

na view em _form


<?php echo $form->dropDownListRow($model, 'Prioridade', array('Baixa'=>'Baixa', 'Média'=>'Média', 'Alta'=>'Alta')); ?>

no view - no update e no create, não tem nada

no model - rules


array('Fantasia, Prioridade, Email, Cod_Vendedor, Cod_Crm, Cod_Campanha, Cod_Produto', 'required', 'on'=>'register'),


array('Prioridade', 'length', 'max'=>5),

attributeLabels


'Prioridade' => 'Prioridade',

Tenho que saber porque não grava na atualização

Porque o campo novo que criei tb não ta gravando

depois vou ter que ajustar os outros campos similares no sistema

será que tenho que alterar o tipo pra int, se relacionando com uma tabela

pra substituir os campos de tipo Enum ?

Estes campos (int se relacionando a outra tabela) atualizam certinho

Encontrei a solução utilizando a classe "ZHtml"

fonte: http://www.yiiframework.com/wiki/303/drop-down-list-with-enum-values-for-column-of-type-enum-incorporate-into-giix/

Agora os dados são mostrados direitinho

mas só tem um probleminha

antes eu tinha um label indicando o nome do campo

e nesta solução ‘sumiu’

Oq tenho que fazer pro Label aparecer lá denovo?

Também resolvi essa

fiz uma comando específico pra colocar o label, antes


echo $form->label($model, 'Prioridade');

echo ZHtml::enumDropDownList( $model,'Prioridade' );

Mas o ideal seria se a função enumDropDownList, já trouxesse ela mesma o label

ou … talvez de forma opcional…

se alguém poder me dar uma mão ::)