我想知道的是两部分问题。
为什么验证没有做任何事情,为什么数据不会发布到数据库?
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');
?>
答案 0 :(得分:3)
问题可能是您在创建表单时指定了错误的模型。以下一行
echo $this->Form->create('Post');
应该是
echo $this->Form->create('Question');