правильное отображение значения переменной даты - PullRequest
0 голосов
/ 23 сентября 2018

Я определил какое-то поле для пользователя, чтобы помочь ему / ей ввести дату по определенной причине,

это сущность:

/**
 * @var \DateTime
 *
 * @ORM\Column(name="order_date", type="datetime", length=20,nullable=true)
 * 
 * @NotBlank()
 */
private $orderDate;

это форма:

->add('orderDate',null, ["label" => "courseorder.orderDate",'widget' => 'single_text', 'format' => 'yyyy-mm-dd'])

это код веточки, когда собирается показать весь список:

<td>{{ courseOrder.orderDate|date('y/m/d') }}</td>

НО при вводе этой даты -> (2/7/97)
сохраняетэто -> (11/1/97) к базе данных и показать в index.html.twig

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Не путайте формат, когда ввод даты (формы) с форматом, когда показывает дату (веточку).

В вашей форме выиспользуют это:

->add('orderDate', null, [
    "label" => "courseorder.orderDate",
    'widget' => 'single_text', 
    'format' => 'yyyy-mm-dd'
])

, поэтому система ожидает, что вы добавите значение, например «2018-07-07» (когда вы используете виджет «single_text»).Если вы хотите изменить формат при вводе значения, вам следует изменить конфигурацию поля формы на нужный формат.

0 голосов
/ 23 сентября 2018

Предлагаю вам прочитать о twig date format введите описание ссылки здесь

use Symfony\Component\Form\Extension\Core\Type\DateType;

->add('orderDate', DateType::class, [
        'label_attr' => ['class' => 'your-label-class'],
        'attr' => ['class' => 'form-control'],
        'translation_domain' => false,
        'widget' => 'single_text',
        'format' => 'yyyy-MM-dd'
 ])

Когда показывается форма даты на ваш взгляд:

<td>{{ courseOrder.orderDate|date('Y/m/d') }}</td>
...