我想知道的是一个由两部分组成的问题。
为什么验证不执行任何操作,为什么数据不会发布到数据库?
问题控制器.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'
),
);
}
表后格雷斯
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');
?>
问题可能是您在创建表单时指定了错误的模型。下一行
echo $this->Form->create('Post');
应该是
echo $this->Form->create('Question');