@Monitorkin

Почему не сохраняется дата из DatePicker Yii2?

в форме:
<?=
	$order_form->field($order_model, 'date_delivery')->widget(DatePicker::classname(), [
		'language' => 'ru', 'dateFormat' => 'dd-MM-yy',
		'options'=>['class'=>' form-control input-sm'],					
	])
?>


в модели:
public function rules() {
		return [
			...
			[['date_delivery'], 'date','format'=>'dd-MM-yy','timestampAttribute'=>'date_delivery'],
			[['date_delivery'], 'default', 'value' => null],
			...
		];
	}


в базе date_delivery хранится в формате DATE, при сохранении ошибок валидации не выдается но в баже появляется 0000-00-00. В чем ошибка? Спасибо!
  • Вопрос задан
  • 527 просмотров
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Проверяйте в каком формате идут данные в базу, можно в дебаге посмотреть.
Далее проверяете в каком формате хранятся данные в базе, я так понимаю, что 0000-00-00 явный признак того, что это год месяц день или год день месяц (но первый вариант вероятнее)
Далее приведите данные которые отправляет виджет к нужному формату и убедитесь, что в моделе нет дополнительной логики, которая меняет формат.
Или же наоборот, в моделе, в beforeSave сделайте смену формата.

Так же могу обратить ваше внимание на этот компонент:
demos.krajee.com/datecontrol
Который фактически решает вопрос, различных форматов в базе и на фронте в виджетах.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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