user1414232
user1414232

Reputation:

cakephp save() creating blank entry to database

I am new to CakePHP, i am creating simple form to add/edit/delete post as it is explain on its official website, my issue, while adding post to database it is not saving data,it is creating blank entries to database

Here is Code for Postscontroller.php

    <?php
    class PostsController extends AppController {
    public $helpers = array('Html', 'Form');
    public $components = array('Session');




    public function add() {
     if ($this->request->is('post')) {
        $this->Post->create();
        if ($this->Post->save($this->request->data)) {
            $this->Session->setFlash(__('Your post has been saved.'));

            return $this->redirect(array('action' => 'index'));
        }
        //debug($this->Post->validationErrors);
        $this->Session->setFlash(__('Unable to add your post.'));
    }
   }




 }
    ?>

Here is Code for Model Post.php :

<?php

class Post extends AppModel {

 public $validate = array(
    'title' => array(
        'rule' => 'notEmpty'
    ),
    'body' => array(
        'rule' => 'notEmpty'
    )
);
}
?>

Here is code for View add.ctp :

<h1>Add Post</h1>
<?php
echo $this->Form->create('post');
echo $this->Form->input('title');
echo $this->Form->input('body');
echo $this->Form->end('Save Post');
?>

can anyone suggest me what is causing blank entries to database ?

Upvotes: 0

Views: 202

Answers (2)

Sitansu
Sitansu

Reputation: 891

In config/core.php file change the debug label to 2.(Configure::write('debug', 2)) and try saving again. The model name should be Post in the form. Please check the post data before saving.

debug($this->request->data);

exit;

Upvotes: 0

may saghira
may saghira

Reputation: 564

In the add.ctp :

The form name is Post not post...

<h1>Add Post</h1>

<?php
echo $this->Form->create('Post');
echo $this->Form->input('title');
echo $this->Form->input('body');
echo $this->Form->end('Save Post');
?>

Upvotes: 2

Related Questions