Array
(
)

Combo não exibe no me do Estado

PHP
Sergio Rocha
   - 16 dez 2014

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.
#Código

<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>

Script para a criação das tabelas Ufs e Municipios:
#Código
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;

Tela exibida:

Sergio Rocha
   - 26 dez 2014

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