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