0

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

<?= $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->Form->date 时,演示表单没有默认值或标签。我的问题是,为什么不像在推荐情况下那样自动添加下拉菜单?

还有什么我想在某处添加的吗?

推荐文件是使用烘焙功能创建的,演示文件是手动创建的。我检查以确保表单变量拼写正确。

4

2 回答 2

0

既然您说“presentation_date”转到不同的控制器,我猜您有一个“见证”表和一个单独的“演示”表?

当您烘焙模板时,表单类使用您的表格模型为表格中的字段生成正确的输入模板。所以它适用于“testimony_date”,因为你已经在模型中定义了它。

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

如果您有一个带有 'presentation_date' 日期类型的 'presentation' 表,也许您还没有为它烘焙模型?尝试烘烤模型(或“全部”),然后尝试放入

$this->Form->input('presentation_date',..)

在您的视图文件(模板文件)中。

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

于 2015-11-27T20:53:36.447 回答
0

看起来一切都很好,但由于某种原因,我服务器上的缓存弄乱了事物的显示方式。一旦我清除了 tmp 模型文件夹,它就解决了这个问题。就像我说的那样,一切都是模仿的(实体、表格、控制器、模板/视图)。无论如何,谢谢大家的帮助。

于 2015-11-28T07:25:51.357 回答