2017-07-26 66 views
1

我是Symfony和EasyAdmin的新成員。在我的實體中,我有一個生日。但是當我展示它時,它顯示了2012年的開始年,2022年結束。我該如何解決它?EasyAdmin Symfony日期從2012年開始,結束於2022年

這是代碼:

/** 
* @var \date 
* 
* @ORM\Column(name="birth_day", type="date") 
*/ 
private $birthDay; 

回答

0

您遇到了Symfony的默認的年份範圍。爲了解決這個問題,你可以構建自己的DateTime類型是這樣的:

<?php 

namespace AppBundle\AdminForm\Field; 

use Symfony\Component\Form\Extension\Core\Type\DateTimeType; 
use Symfony\Component\OptionsResolver\OptionsResolver; 

class MyCustomDateType extends DateTimeType 
{ 
    public function configureOptions(OptionsResolver $resolver) 
    { 
     // Set the defaults from the DateTimeType we're extending from 
     parent::configureOptions($resolver); 

     // Override: Go back 20 years and add 20 years 
     $resolver->setDefault('years', range(date('Y') - 20, date('Y') + 20)); 

     // Override: Use an hour range between 08:00AM and 11:00PM 
     $resolver->setDefault('hours', range(8, 23)); 
    } 
} 

然後,您可以指示EasyAdmin使用這種類型的,像這樣:

- { property: 'occurance', 
    type: 'AppBundle\AdminForm\Field\MyCustomDateType', 
    label: 'Date and time' } 
相關問題