RooTer Kairo
RooTer Kairo

Reputation: 1

save() function in cakephp save null values

My problem is that i dont know save() function of cakephp insert null values in posts table !

When I try to add a post: https://i.sstatic.net/fhRVn.png

After redirecting the inserted data is null: https://i.sstatic.net/YstBb.png

My PostsController.php is:

App::uses('AppController', 'Controller');

class PostsController extends AppController{

    public $components = array('Session');
    public $helpers = array('Html', 'Form');

    public function index() {
        $this -> set('posts', $this->Post->find('all'));
    }

    public function view($id = null){
        if(!$id){
            throw new NotFoundException(_('il faut choisir un post'));
        }
        $post=$this->Post->findById($id);
        if(!$post){
            throw new NotFoundException(_('invalide Post !'));
        }
        $this->set('post',$post);
    } // fin de "view"

    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'));
            }
            $this->Session->setFlash(__('Unable to add your post.'));
        }
        //debug($this->Post->validate);

    }//fin d'ajout
} // fin de "appcontroller"

My Post.php model file is:

class Post extends appModel {

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

My view form post is:

echo $this->Form->create('post');
echo $this->Form->input('title');
echo $this->Form->input('body',array('rows' => '3'));
echo $this->Form->end('Ajouter');

Upvotes: 0

Views: 778

Answers (1)

CoolLife
CoolLife

Reputation: 1479

in your view maybe your problem that you Model is Post not post

echo $this->Form->create('Post');
echo $this->Form->input('title');
echo $this->Form->input('body',array('rows' => '3'));
echo $this->Form->end('Ajouter');

Upvotes: 2

Related Questions