簡體   English   中英

在奏鳴曲中設置日期的默認值

[英]Set default value for date in Sonata

我有一個日期,我想將當前日期設置為默認值,大多數帖子都建議添加'data' => new \DateTime()但在 Sonata 中有兩個問題:

  1. 如果我將日期更改為隨機日期,甚至將其留空,它仍會將當前日期保存在數據庫中
  2. 在編輯視圖中,它將覆蓋創建視圖中的日期,並且該值仍將是當前日期

我的代碼:

$form->add('startDate', DateType::class, [
        'required' => false,
        'label' => 'Starting date',
        'data' => new \DateTime("now"),
        'constraints' => ...
   ])
]);

我錯過了什么?

data屬性將在所有情況下覆蓋數據,您可以在DateType Field#data中閱讀此處。

您可以做的是在實體中設置默認值,而不是按照什么是設置 Symfony object 的默認值的最佳方法中所述?

在實體中,您將擁有以下內容:

private $startDate = new \DateTime("now");

這樣做的缺點是,當實體在 Sonata 之外創建時,它還會添加默認值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM