Cakephp表单创建让我缺少数据库表

时间:2012-08-27 14:38:04

标签: forms cakephp

根据手册,我应该能够做到这一点,即将模型保留为空

<?php
echo $this->Form->create(null, array('url' => '/recipes/add'));
// or
echo $this->Form->create(null, array(
    'url' => array('controller' => 'recipes', 'action' => 'add')
));

但实际上,我收到错误说缺少数据库表?为什么呢?

我的模型没有直接映射到任何表格。为什么我不能把它留空?像这样:

<?php echo $this->Form->create(null,array('url' => array('my_account','action' => 'change_avatar'),'type' => 'file'));?>

2 个答案:

答案 0 :(得分:1)

尝试传递代码false的{​​{1}}而不是null

<?php
echo $this->Form->create(false, array('url' => '/recipes/add'));
// or
echo $this->Form->create(false, array(
    'url' => array('controller' => 'recipes', 'action' => 'add')
));

来自manual

  

你也可以为$ model传递false。这会将您的表单数据放入数组:$ this-&gt; request-&gt; data(而不是在子数组中:$ this-&gt; request-&gt; data ['Model'])。这对于可能不代表数据库中任何内容的简短表单非常方便。

答案 1 :(得分:0)

在数据库中创建一个名为食谱的表格。表单中提交的日期将保存在食谱表中。