Ir ao conteúdo
  • Cadastre-se
serginho_pv

Combo não exibe nome do Estado - CakePHP

Recommended Posts

Olá.  Através do bake, criei um formulário para incluir um Município. Entretanto, o bake ao gerar o formulário, exibe o id do estado e não o nome dele. Como faço para que na como apareça o nome e não o id do Estado? Se possível, gostaria de alterar a label de Uf para Estado e de nom municipio para município.

A tela exibida está em anexo (Sem título.png).

Abaixo, o script da view add.ctp

<div class="municipios form"><?php echo $this->Form->create('Município'); ?>	<fieldset>		<legend><?php echo __('Incluir Município'); ?></legend>	<?php		echo $this->Form->input('uf_id');		echo $this->Form->input('nom_municipio');	?>	</fieldset><?php echo $this->Form->end(__('Enviar')); ?></div><div class="actions">	<h3><?php echo __('Ações'); ?></h3>	<ul>		<li><?php echo $this->Html->link(__('Listar Municípios'), array('action' => 'index')); ?></li>		<li><?php echo $this->Html->link(__('Listar Estados'), array('controller' => 'ufs', 'action' => 'index')); ?> </li>		<li><?php echo $this->Html->link(__('Novo Estado'), array('controller' => 'ufs', 'action' => 'add')); ?> </li>		<li><?php echo $this->Html->link(__('Listar Endereços'), array('controller' => 'enderecos', 'action' => 'index')); ?> </li>		<li><?php echo $this->Html->link(__('Novo Endereço'), array('controller' => 'enderecos', 'action' => 'add')); ?> </li>	</ul></div>

Abaixo o script utilizado para a criação das tabelas:

DROP TABLE IF EXISTS `ufs`;CREATE TABLE IF NOT EXISTS `ufs` (  `id` int(10) unsigned NOT NULL COMMENT 'codigo fornecido pelo IBFE',  `nom_estado` varchar(40) DEFAULT NULL COMMENT 'nome do estado',  `sigla` varchar(2) DEFAULT NULL COMMENT 'sigla do estado') ENGINE=InnoDB DEFAULT CHARSET=utf8 PACK_KEYS=0;  DROP TABLE IF EXISTS `municipios`;CREATE TABLE IF NOT EXISTS `municipios` (  `id` varchar(7) NOT NULL COMMENT 'codigo do municipio fornecido pelo IBGE',  `uf_id` int(10) unsigned NOT NULL,  `nom_municipio` varchar(50) NOT NULL COMMENT 'nome do municipio') ENGINE=InnoDB DEFAULT CHARSET=utf8 PACK_KEYS=0;

Obrigado

post-467435-0-95161900-1418813797_thumb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resposta enviada por Paulo Rodrigues - BH/MG


O nome do label você pode incluir no segundo parâmetro, assim:



echo $this->Form->input('uf_id', array('label' => 'Estado'));
echo $this->Form->input('nom_municipio', array('label' => 'Município'));

E para o nome do estado, no seu model Uf é possível definir o atributo displayField que é o seu campo de exibição padrão:



class Uf extends AppModel {
public $displayField = 'nom_estado';
}
Editado por dif
Acrescentar a tag CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×