Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Gente,
estou aprendendo a usar o cakePHP. No meu banco, tenho uma tabela de Estados, outra de Cidades e outra de Endereços.
para cadastrar, alterar, ler Estados deu certinho, porém para cadastrar uma cidade estou com dificuldades, visto que a tabela cidade possui a chave estrangeira estado_id.
vamos aos códigos:
cidades_controller.php
create()
function create() {
$this->set('estados', $this->Estado->find('all'));
if(!empty($this->data)):
if ($this->Cidade->save($this->data)):
$this->Session->setFlash('Registro inserido com sucesso!');
$this->redirect('read/');
else:
$this->Session->setFlash('Erro ao salvar, consulte o Administrador.');
endif;
endif;
}
agora na view eu tive várias duvidas.. Tentei fazer o "<select> </select>" para trazer os estados sem usar o $html helper, e listou tudo certinho, apareceu os nomes lá e no value os codigos respectivos de cada estado, porém na hora de gravar ele tentava inserir um registro com estado_id = null
e usando o $html helper eu não consegui listar os estados, mto menos seus IDs.
o código está assim agora:
<h1> Cadastro de Cidades </h1>
<?php
$session->flash('flash');
$saveTo = array('controller' => 'cidades', 'action' => 'create');
echo $form->create('Cidade', array('url' => $saveTo));
echo $form->input('Cidade.cidade', array('type' => 'text', 'size' => '30'));
//echo $form->select('Cidade.estado_id', array('value' => $estados['Estado']['id']));
?>
<select name='estado_id'>
<?php
foreach($estados as $estado):
?>
<option value='<?php echo $estado['Estado']['id'];?>'>
<?php echo $estado['Estado']['estado']; ?>
</option>
<?php
endforeach;
?>
</select>
<?php
echo $form->end('Cadastrar');
echo $html->link('Listagem de Cidades', 'read/');
?>
Alguém aí pode me ajudar?
um exemplo seria bem vindo também!
Abraços e Obrigado!!
Carregando comentários...