@Iossarian

Как в yii2 конвертировать дату из DatePicker?

Добрый день. При создании поста формат выбора даты должен быть 'd.m.yyyy', собственно
$form->field($model, 'date')->widget(DatePicker::className(), [
        'value' => date('d.m.yyyy', strtotime('+2 days')),
        'options' => ['placeholder' => 'Select issue date ...'],
        'pluginOptions' => [
            'format' => 'd.m.yyyy',
            'todayHighlight' => true
            ]
    ])

В БД формат хранения даты - datetime и если в rules прописать следующее
[['date'], 'date', 'format' => 'php:d.m.yy'],
то код, соответственно, выдаст ошибку. Так вот, как правильно прописать настройки, чтобы удовлетворить требованиям ТЗ? Спасибою
  • Вопрос задан
  • 904 просмотра
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
Либо в beforeSave конвертируйте дату на нужный формат базы данных. Я использую написанное поведение и подключаю его в нужном месте на нужные атрибуты. Если надо могу скинуть пример.

Предлагаю хранить дату в Unix формате. И конвертировать в человеческий вид. Это будет более универсальнее.

Так же формат даты этого плагина должен быть dd.mm.yyyy

Если вы хотите поставить валидацию для этого формата используйте format=> php: d.m.Y
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
EnChikiben
@EnChikiben
в beforeSave сделайте
Ответ написан
Комментировать
@morricone85
Такой формат точно работает: 'dd.mm.yyyy'

[['date'], 'date', 'format' => 'dd.mm.yyyy']
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы