[resolvido] Queria uma ajuda pra colocar um campo numa lista

Criei um novo campo numa tabela

que aponta um registro em outra

No caso o campo Cod_Cadastrou na tabela Tarefas

se referencia ao campo Cod_Vendedor da tabela Usuarios

Já existia uma outra referência a este campo em Usuarios

no caso era o campo Cod_Vendedor de Tarefas

este se refere a quem deve fazer a tarefa

agora me pediram pra incluir aquele outro que serve pra indicar quem cadastrou a tarefa

como ele deve gravar automáticamente pegando a informação do login

não tem nada em rules()

E a gravação deste campo novo na adição esta funcionando certinho

No relations coloquei isto


'cadastrou'=>array(self::BELONGS_TO, 'Usuario', 'Cod_Cadastrou'),

Eu entendo como

cadastrou = nome do relacionamento

self::BELONGS_TO = Indica um relacionamento um para muitos, ou seja atravez do valor do campo novo deve retornar um registro na outra tabela

Usuario = tabela que contem o registro a ser procurado

Cod_Cadastrou = campo que contem o indice a ser procurado na tabela Usuario

No campo que já existia anteriormente que mostrava a quem era destinada a tarafa

existia este código no view/index


'value'=>'(!empty($data->Cod_Vendedor) && isset($data->Usuario->Nome)) ? $data->Usuario->Nome : NULL',

Então pensei que bataria alterar onde indicava a referência ao campo que continuha a informação do index, no caso o campo Cod_Vendedor e deveria então alterar para meu novo campo Cod_Cadastrou

Então ficou assim


'value'=>'(!empty($data->Cod_Cadastrou) && isset($data->Usuario->Nome)) ? $data->Usuario->Nome : NULL',

Mas quando vou ver a listagem, aparece nesta columa o usuário a que se refere a tarefa e não o usuário que a criou

A título de teste, mantei mostrar o valor cadastrado no campo, que seria usado como referencia para trazer o usuário, no caso o que cadastrou a tarefa


'value'=>'$data->Cod_Cadastrou',

e funciona direitinho, ou seja mostra mesmo o valor que corresponde ao usuário que cadastrou a tarefa, no caso na tabela de usuários

Então… precisava de uma ajuda dos colegas

para entender aonde que estou errando…

Resolvi

Fazendo uma busca na hora de mostrar a informação


'value'=>'(!empty($data->Cod_Cadastrou)) ? CHtml::encode(Usuario::model()->findByPk($data->Cod_Cadastrou)->Nome) : NULL',