@Silverviql

Как вбивать дату и время в разных инпутах, но сохранять все в одной поле таблицы?

Как сохранить время в одном атрибуте ?
С помощью данного виджета ввожу дату.
<?= $form->field($model, 'srok')->widget(DateControl::className(),
                    [
                        'convertFormat' => true,
                        'type'=>DateControl::FORMAT_DATE,
                        'displayFormat' => 'php:d M Y',
                        'saveFormat' => 'php:Y-m-d H:i:s',

                        'widgetOptions' => [
                                'pluginOptions' => [
                                        'autoclose' => true,
                                    ],
                            'options' => ['placeholder' => 'Cрок']
                        ],
                    ])->label(false);?>

Хочу сделать отдельный ввод времени взял обычный текстовый инпут
сделал так
<div class="col-xs-10">
                <?= $form->field($model, 'srok')->textInput(['maxlength' => true, 'placeholder' => 'Время', 'class' => 'inputForm'])->label(false) ?>
        </div>

Но прикол в том что в инпуте надо вводить время полностью 2018-06-08 17:00:00 и он просто перезатрет то что было выбрано выше при выборе даты. Ну и надо чтобы можно было ввести например 17:00 а по умолчанию если ничего не вбито было 13:00
Я думаю можно как до сохранять дату и время в объектах а потом сохранять в один общий и уже его передавать для сохранения. $datetime = $date.' '.$time
Ну и в $time там добавлять .':00' Но как это правильно реализовать я не знаю.
Я знаю что в виджете DateControl можно и время вводить, но там надо выбрать часы ,потом минуты а это дофига кликов, а время не так принципиально для моей задачи, я хотел убрать возможность выбора минут в виджете но не нашел как это сделать...
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
DateControl::FORMAT_DATE - дата
DateControl::FORMAT_TIME - время
DateControl::FORMAT_DATETIME - дата и время
Откуда взялся текстовый unput? Я так понимаю должен быть или 1 виджет с DATETIME или 2: один FORMAT_DATE второй FORMAT_TIME
Если Вам надо в базе хранить в одном поле и вы не знаете как объединить - тогда виджеты тут вообще не при чем. Это все делается в модели в beforSave, например.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы