Ich erhalte diese Fehlermeldung, wenn ich diese Werte in meine Datenbanktabelle einfüge:
SQLSTATE [22007]: Ungültiges Datums-/Uhrzeitformat: 1292 Falscher Datums-/Uhrzeitwert: '24/06/2017' für Spalte 'registration_from' in Zeile 1 (SQL: Einfügen in `campus_registrations` (` campus_major_class_id` , `registration_from`,` registration_to`, `testing`,` announcement`, `enrollment_from`,` enrollment_to`, `updated_at`,` created_at`)) Werte (3, 24/06/2017, 27/06/2017, 13/07/2017, 01/08/2017, 05/09/2017, 31/01/2018, 2017-06-07 09:39:31, 2017-06- 07 09:39:31))
Muss ich die datetime zuerst einleiten oder was?
Der Fehler ist hier:
Incorrect datetime value: '24/06/2017' for column 'registration_from' at row 1
das Standardformat für die Spalte date
in mysql ist Y-m-d
und für datetime
ist Y-m-d H:i:s
. Ändern Sie Ihr Datum also in dieses Format und versuchen Sie es erneut.
Da Sie kein Standarddatetime-Format verwenden, definieren Sie für jedes Datum einen Mutator . Zum Beispiel:
public function setRegistrationFromAttribute($value)
{
$this->attributes['registration_from'] = Carbon::parse($value);
}
Ich habe die gleiche Fehlermeldung erhalten, als ich den Benutzer vom vue js-Frontend bis zur Laravel-Backend-API registrieren wollte.
Die Lösung bestand darin, den strikten Modus von MySQL auf false zu aktualisieren. Wenn jemand die Nachteile dieses Ansatzes kennt, hinterlassen Sie bitte Ihre Kommentare!
//config/database.php
'mysql' => [
'strict' => false,
]
Ich habe das gleiche Problem und schließlich habe ich das Problem gelöst. Sie können die wenige Codezeile am Ende der add.blade.php hinzufügen
$('.date-picker').datepicker({
format: 'yy/mm/dd',
autoclose: true,
todayHighlight: true
});
MySQL erkennt Datumswerte entweder im YYYY-MM-DD
- oder YY-MM-DD
-Format. Sie können /
verwenden. Dieser 24/06/2017
wurde als ungültig betrachtet. 2017/06/24
ausprobieren
Dies geschah mir unter Laravel 5.6, bis ich den Code in $table->date('last_date')->default(now());
geändert habe.