2015-11-26 51 views
0

所以我已經創建了一種添加推薦的方法,並且有一個表單部分添加了推薦的日期。在我的數據庫表中,它被設置爲日期類型。在我的形式,我只是有:如何使用表單輸入CakePHP 3自動獲取日期下拉菜單?

<?= $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時沒有默認值或標籤。我的問題是,爲什麼自動添加下拉菜單就像在推薦情況下一樣?

是否還有別的東西我想添加到某處?

驗證文件是使用烘焙功能創建的,演示文件是手動創建的。我檢查確認表單變量拼寫正確。

+0

@ OopsD'oh上面的描述說:「在我的數據庫表中它被設置爲日期類型。」該字段是日期類型。 – Battousai

回答

0

它看起來像一切都很好,但由於某種原因,我的服務器上的緩存混亂了事情的顯示方式。一旦我清除了tmp模型文件夾,它解決了問題。就像我說過的一切都是模仿(實體,表格,控制器,模板/視圖)。無論如何,謝謝大家的幫助。

0

既然你說「presentation_date」去不同的控制器,我猜,你有一個「見證」表和一個獨立的「演講」表?

形式類使用表格模型,當你烤模板來生成您的表中字段的右側輸入模板。所以它適用於'testimony_date',因爲你已經在模型中定義了它。

如果你「模仿」的證詞模板的使用,但是你沒有一個實際的領域「presentation_date」,蛋糕不知道如何挑選一個輸入模板吧。

如果你有一個「演示」表一「presentation_date」日期類型,也許你還沒有出爐了它的型號?嘗試烘焙模型(或「全部」),然後嘗試在您的視圖文件(模板文件)中放入

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

注意:如果你烤「全部」創建模型,控制器和模板,謹慎,它不會覆蓋你的控制器如果你寫你自己的。