2017-02-13 58 views
1

Я использую sonata_type_datetime_range_picker. Я работаю правильно на стороне интерфейса. Но когда я отправляю форму, он пересчитывает значение месяца до 1. I.e. мое отправленное значение - «2017-02-02 03:14:00», а значение после отправки - «2017-01-02 03:14:00». В соответствии с датой профайлера в объекте «Запрос» это правильно, но в Symfont Form Component это неверно.Sonata date picker month сбрасывается до 1

Мой админ код

$datePickerOptions = [ 
     'format' => "YYYY-MM-DD HH:mm:SS", 
     'datepicker_use_button' => false, 
     'dp_use_minutes' => false, 
     'dp_use_seconds' => false, 
     'dp_side_by_side' => true, 
     'dp_language' => 'en', 
    ]; 

    $datagridMapper 
     ->add(
      'dateTime', 
      'doctrine_orm_datetime_range', 
      [ 
       'show_filter' => true, 
       'field_type' => 'sonata_type_datetime_range_picker', 
       'field_options' => [ 
        'field_options_start' => $datePickerOptions, 
        'field_options_end' => $datePickerOptions, 
       ], 
      ] 
     ); 

Что я делаю неправильно?

ответ

0

Хорошо, я сам нашел рабочее решение. Возможно, это помогает кому-то другому:

$now = new \DateTime(); 
    $historyStart = new \DateTime('Dec 20 2016'); 
    $dateFormat = 'd.m.y H'; 

    $datagridMapper 
     ->add(
      'dateTime', 
      'doctrine_orm_datetime_range', 
      ['show_filter' => true,], 
      'sonata_type_datetime_range_picker', 
      [ 
       'field_options_start' => [ 
        'dp_min_date'  => $historyStart->format($dateFormat), 
        'dp_max_date'  => $now->format($dateFormat), 
        'dp_default_date' => $now->format($dateFormat), 
        'dp_language'  => 'en', 
        'format' => 'dd.MM.yy HH', 
        'datepicker_use_button' => false, 
        'dp_use_minutes' => false, 
        'dp_use_seconds' => false, 
        'dp_side_by_side' => true, 
       ], 
       'field_options_end' => [ 
        'dp_min_date'  => $historyStart->format($dateFormat), 
        'dp_max_date'  => $now->format($dateFormat), 
        'dp_default_date' => $now->format($dateFormat), 
        'dp_language'  => 'en', 
        'format' => 'dd.MM.yy HH', 
        'datepicker_use_button' => false, 
        'dp_use_minutes' => false, 
        'dp_use_seconds' => false, 
        'dp_side_by_side' => true, 
       ] 
      ] 
     );