I'm working on a real estate project and I have add
, edit
and delete
, everything is normal. In real estate I have the cidade
and bairro
tables, which when I register are two <option>
, but when I go to edit the real estate, the city and the neighborhood, do not remain in place of option
, customer has to look for the city and the neighborhood again, wanted to set the city and the neighborhood in the edit .
These are options
:
echo $this->Form->input('cidade', array('label' => 'Cidade', '', 'empty' => 'Selecione', 'options' => $Cidades));
echo $this->Form->input('bairro', array('label' => 'Bairro', 'empty' => 'Selecione o Bairro', 'options' => array() ));
This is my ImovelsController, the edit function:
public function editar($id = null) {
if (!$id) return $this->redirect(array('action' => 'index'));
$imovel = $this->Imovel->read(null, $id);
if ($imovel['Imovel']['creator'] != $this->Session->read('Auth.User.Imobiliaria.id')) return $this->redirect(array('action' => 'index'));
if (empty($this->request->data)) {
$this->set('imovel', $imovel);
$id_cidade = $imovel['Imovel']['cidade'];
include 'banco.php';
$sql = mysql_query("SELECT * FROM cidades WHERE id = '$id_cidade' ");
while($result = mysql_fetch_array($sql)){
$id = $result['id'];
$nomeCidade = $result['nome'];
}
$this->loadModel('Bairro');
$bairrosRioClaro = $this->Bairro->find('list', array('fields' => array('id', 'bairro'), 'conditions' => array('cidade' => $nomeCidade)));
//print_r($bairrosRioClaro);
$this->set('bairrosRioClaro', $bairrosRioClaro);
$especificacoes = array();
$tipo = $imovel['Imovel']['tipo'];
if ($tipo == 'residencial') {
$especificacoes = array(
1 => 'Casa',
2 => 'Apartamento',
3 => 'Condomínio',
4 => 'Chácara',
5 => 'Kitnet',
6 => 'Temporada'
);
} elseif ($tipo == 'comercial') {
$especificacoes = array(
7 => 'Barracão',
8 => 'Salas comerciais',
9 => 'Ponto comercial',
);
} elseif ($tipo == 'empreendimento') {
$especificacoes = array(
10 => 'Comercial',
11 => 'Residencial',
);
} elseif ($tipo == 'terreno') {
$especificacoes = array(
12 => 'Comercal',
13 => 'Residencial',
14 => 'Comercial/Residencial',
);
} elseif ($tipo == 'rural') {
$especificacoes = array(
15 => 'Fazenda',
16 => 'Sítio',
17 => 'Chácara',
);
} else {
$especificacoes = null;
}
$this->set('especificacoes', $especificacoes);
$this->set('data', $imovel);
} else {
$data = $this->request->data;
if ($data['Imovel']['opcoes']) $data['Imovel']['opcoes'] = implode(';', $data['Imovel']['opcoes']);
$data['Imovel']['modifier'] = $this->Session->read('Auth.User.Imobiliaria.id');
$data['Imovel']['especificacao'] = $data['Imovel']['imovel'];
if ($data['Imovel']['bairro']) {
$bairro = $this->Cep->find('first', array('conditions' => array('id' => $data['Imovel']['bairro'])));
$data['Imovel']['bairroNome'] = $bairro['Cep']['bairro'];
}
if ($data['Imovel']['cidade']) {
$cidade = $this->Cidade->find('first', array('conditions' => array('id' => $data['Imovel']['cidade'])));
$data['Imovel']['cidadeNome'] = $cidade['Cidade']['nome'];
}
if ($this->Imovel->save($data)) return $this->redirect(array('action' => 'index'));
$this->set('data', $data);
}
}
He is returning real estate data:
array(
'Imovel' => array(
'id' => '150',
'codigo' => 'TESTEIMOVEL',
'placa' => 'TESTEIMO',
'tipo' => 'residencial',
'cidade' => '9566',
'cidadeNome' => 'Rio Claro',
'bairro' => '578008',
'bairroNome' => 'Jardim Donângela',
'intencao' => '1',
'especificacao' => '1',
'endereco' => 'TESTEIMOVEL',
'valor' => '1',
'condominio' => 'TESTEIMOVEL',
'salas' => '0',
'dormitorios' => '0',
'suites' => '0',
'banheiros' => '0',
'garagem' => '0',
'complemento' => 'TESTEIMOVEL',
'areaConstruida' => 'TESTEIMOVEL',
'areaTotal' => 'TESTEIMOVEL',
'descricao' => 'TESTEIMOVEL',
'geolocalizacao' => 'Sob Consulta',
'video' => null,
'foto1' => '',
'foto2' => '',
'foto3' => '',
'foto4' => '',
'foto5' => '',
'foto6' => '',
'legendaFoto1' => '',
'legendaFoto2' => '',
'legendaFoto3' => '',
'legendaFoto4' => '',
'legendaFoto5' => '',
'legendaFoto6' => '',
'pageview' => '0',
'opcoes' => '',
'destaque' => '0',
'ativo' => '1',
'ativoPeloAdm' => '1',
'created' => '2014-02-26 09:53:13',
'creator' => '110',
'modified' => '2014-02-26 09:53:13',
'modifier' => '110'
)
)