Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Criei um formulário para adicionar informação ao banco, tabela places, porém, a mesma só funciona com o nome do model no plural, no caso "Places", mas quando faço isso, ele salva a linha, mas sem dados.
Quando deixo no singular, ele não faz nada, clica no botão, não redireciona, nada. O editar funciona normalmente com ele no singular.
admin_add.ctp
<?php echo $this->Form->create('Place'); ?>
<?php echo $this->Form->button('Cadastrar', array('label' => 'false')); ?>
<?php echo $this->Form->end(); ?>
Do modo acima, não ocorre nada, para "funcionar", basta eu colocar as configurações ***$this->Form->create('Places');***
Antes funcionava de modo normal com "Place", não lembro o que eu fiz para deixar de funcionar.
Place.php
App::uses('AppModel', 'Model');
class Place extends AppModel {
public $useTable = 'places';
PlacesController.php
public function admin_add() {
$this->set('pageTitle', 'Cadastrar Vaga');
if ($this->request->is('post')) {
$this->Place->create();
if ($this->Places->save($this->request->data)) {
$this->Session->setFlash('Vaga de Emprego cadastrado com sucesso!', array(), 'default', 'sucesso');
return $this->redirect(array('controller' => 'places', 'action' => 'index', 'admin' => true));
} else {
$this->Session->setFlash('Erro ao cadastrar Vaga de Emprego!', array(), 'default', 'erro');
}
}
}Observação o parece que o CakePHP associa o nome de seu form com o do seu modelo, logo se o nome do modelo está no plural o do form também deve estar.
Para definir um novo nome a Model utilize o atributo $name, desta forma você coloca o nome que quiser!
...
class Place extends AppModel {
public $name = 'Place'; //<---------------<
public $useTable = 'places';
...Galera, era conflito com o nome de um único campo no banco de dados, troquei o nome e o modo de funcionamento do formulário, ficou 10. Obrigado pela ajuda.
<?php echo $this->Form->create('Place', array(
'url' => array('controller' => 'places', 'action' => 'add'),
'id' => 'PlaceAdminAdd',
'class' => 'classic'));
?>
Aqui vai um tutorial para tirar suas duvidas referentes a um CRUD em cakephp http://www.devmedia.com.br/criando-um-crud-completo-com-cakephp/28659