Ir ao conteúdo
  • Cadastre-se

Combo não exibe nome do Estado - CakePHP


Posts recomendados

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.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

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';
}
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...