如何使用表单输入CakePHP 3自动获取日期下拉列表?

如何使用表单输入CakePHP 3自动获取日期下拉列表?,cakephp,cakephp-3.0,cakephp-3.1,Cakephp,Cakephp 3.0,Cakephp 3.1,所以我已经创建了一种添加推荐信的方法,表单中有一个部分可以添加推荐信的日期。在我的数据库表中,它被设置为日期类型。在我的表格上,我只有: <?= $this->Form->input('testimony_date'); ?> 我模拟了同样的过程,将一个演示日期添加到一个不同的窗体中,并发送到另一个控制器。日期下拉列表已自动添加到推荐添加表单中。演示文稿表单未自动添加日期。如果我这样输入表单,我可以得到下拉列表: <?= $this->Form->da

所以我已经创建了一种添加推荐信的方法,表单中有一个部分可以添加推荐信的日期。在我的数据库表中,它被设置为日期类型。在我的表格上,我只有:

<?= $this->Form->input('testimony_date'); ?>
我模拟了同样的过程,将一个演示日期添加到一个不同的窗体中,并发送到另一个控制器。日期下拉列表已自动添加到推荐添加表单中。演示文稿表单未自动添加日期。如果我这样输入表单,我可以得到下拉列表:

<?= $this->Form->date('presentation_date'); ?>

推荐表的日期下拉列表以默认的今天日期填写。当我设置为$this->form->date时,演示文稿表单没有默认值或标签。我的问题是,为什么不像在推荐场合那样自动添加下拉列表

我还有什么要补充的吗


证明文件是使用烘焙功能创建的,演示文件是手动创建的。我检查了表单变量的拼写是否正确。

既然您说“presentation\u date”转到另一个控制器,我猜您有一个“证词”表和一个单独的“presentation”表

烘焙模板时,form类使用表模型为表中的字段生成正确的输入模板。所以它适用于“证词日期”,因为您在模型中定义了它

如果您“模仿”了证词模板中的用法,但没有实际字段“presentation\u date”,Cake不知道如何为其选择输入模板

如果您有一个日期类型为“presentation\u date”的“presentation”表,可能您还没有为它烘焙模型?尝试烘焙模型(或“全部”),然后尝试放置

$this->Form->input('presentation_date',..)
在视图文件(模板文件)中


注意:如果您烘焙“全部”来创建模型、控制器和模板,请小心,如果您编写了自己的控制器,它不会覆盖您的控制器。

看起来一切正常,但由于某种原因,我的服务器上的缓存会干扰显示内容的方式。一旦我清除了tmp模型文件夹,它就解决了这个问题。就像我说的,一切都是模拟的(实体、表、控制器、模板/视图)。无论如何,谢谢大家的帮助。

@OopsD'oh上面的描述是:“在我的数据库表中,它被设置为日期类型。”字段是日期类型。
$this->Form->input('presentation_date',..)