所以我已经创建了一种添加推荐的方法,并且表单的一部分用于添加推荐的日期。在我的数据库表中,它被设置为日期类型。在我的表格上我只有:
<?= $this->Form->input('testimony_date'); ?>
在模型中的表格文件中有一个验证:
$validator
->add('testimony_date', 'valid', ['rule' => 'date'])
->requirePresence('testimony_date', 'create')
->notEmpty('testimony_date');
我模仿了同样的过程,将presentation_date添加到另一个不同控制器的表单中。日期下拉菜单会自动添加到推荐添加表单中。演示文稿表格不会自动添加日期。如果我像这样输入表单输入,我可以得到下拉:
<?= $this->Form->date('presentation_date'); ?>
推荐表单的日期下拉列表中填写了默认的今天日期。当我使用$ this-&gt; Form-&gt; date时,演示文稿表格没有默认值或标签。我的问题是,为什么不像推荐情况那样自动添加下拉?
我想在某处添加其他东西吗?
使用烘焙功能创建了推荐文件,并手动创建了演示文件。我检查以确保表单变量拼写正确。
答案 0 :(得分:0)
既然你说'presentation_date'去了另一个控制器,我猜你有一个'见证'表和一个单独的'演示'表?
当您烘焙模板时,表单类使用您的表模型为表中的字段生成正确的输入模板。所以它适用于'testimony_date',因为你已经在模型中定义了它。
如果你已经模仿了证词模板中的用法,但你没有实际的字段'presentation_date',那么Cake不知道如何为它选择输入模板。
如果你有一个带有'presentation_date'日期类型的'presentation'表,也许你还没有为它添加模型?尝试烘焙模型(或“全部”),然后尝试添加
$this->Form->input('presentation_date',..)
在您的视图文件(模板文件)中。
注意:如果你烘焙'all'来创建模型,控制器和模板,请注意,如果你自己编写控制器,它不会覆盖你的控制器。
答案 1 :(得分:0)
看起来一切都很好,但由于某种原因,我服务器上的缓存会弄乱事物的显示方式。一旦我清除了tmp模型文件夹,就修复了问题。就像我说的一切都是模仿的(实体,表格,控制器,模板/视图)。无论如何,谢谢大家的帮助。