只有在不传递对象时,日期字段类型才默认



我正在尝试我的第一个Symfony应用程序,但是当我使用表单时,发生了一些违反直觉的事情。

从我的代码中可以看到,我有一个日期字段,默认为当前日期。但是当我将一个对象传递给表单时,这个默认值将覆盖该对象的当前日期。

我知道这就是它应该如何发生('的默认值为表单字段是直接从底层数据结构(例如一个实体或数组)。data选项将覆盖此默认值。',从http://symfony.com/doc/current/reference/forms/types/date.html#data)。

是否有任何方法来抑制这种行为,只显示默认值,如果没有对象传递?

$builder
  // other code
  ->add('date', 'date', array(
     'data' => new DateTime()
  ))
 // other code

我可能会直接在我的新实体中设置它,而不是固定在一个形式

class YourClass 
{
    private $date;
    //...
    public function __construct()
    {
        $this->date = new DateTime;
    }
}

相关内容

  • 没有找到相关文章

最新更新