0

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

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

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

)

问.ctp

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

1 回答 1

3

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

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

应该

echo $this->Form->create('Question');
于 2012-05-18T14:20:53.397 回答