基本:CakePHP数据没有保存也没有验证工作?

时间:2012-05-18 13:33:51

标签: php postgresql cakephp pdo

我想知道的是两部分问题。

为什么验证没有做任何事情,为什么数据不会发布到数据库?

QuestionsController.php     

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

public function view($id = null) {
    $this->Question->id = $id;
    $this->set('question', $this->Question->read());

}

public function ask() {

    if ($this->request->is('post')) {
        if ($this->Question->save($this->request->data)) {
            $this->Session->setFlash('Your Question has been asked.');
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash('Unable to ask your question.');
        }
    }
}
}
  ?>

问题模型

 class Question extends AppModel {

   public $validate = array(
    'question' => array(
        'rule' => 'notEmpty'
    ),
);
}

表postgreSQL

CREATE TABLE questions (
id serial not null unique primary key,
question varchar(245),
timecreated timestamp default CURRENT_TIMESTAMP

)

ask.ctp

<?php
 echo $this->Form->create('Post');
 echo $this->Form->input('question');
 echo $this->Form->end('Ask');
?>

1 个答案:

答案 0 :(得分:3)

问题可能是您在创建表单时指定了错误的模型。以下一行

echo $this->Form->create('Post');

应该是

echo $this->Form->create('Question');