Ir ao conteúdo
  • Cadastre-se
serginho_pv

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.

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';
}

Compartilhar este post


Link para o post
Compartilhar em outros sites
Este tópico está parado há muito tempo. Certifique-se que a sua mensagem tem a ver com o tema sendo discutido. Obrigado.

Junte-se à conversa

Você pode postar agora e cadastrar-se depois. Se você tem uma conta, faça o login para postar.

Visitante
Responder

×   Você colou conteúdo com formatação.   Restore formatting

  Só é possível ter até 75 emoticons.

×   O link foi automaticamente convertido para mostrar o conteúdo.   Clique aqui para mostrá-lo como link comum

×   Seu texto anterior foi restaurado.   Limpar o editor

×   You cannot paste images directly. Upload or insert images from URL.






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

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!