web-dev-qa-db-fra.com

Format de date et heure incorrect: 1292 Valeur de date et heure incorrecte - Laravel 5.2

Je reçois cette erreur lorsque j'insère ces valeurs dans ma table de base de données:

 SQLSTATE [22007]: Format de date/heure incorrect: 1292 Valeur de date/heure incorrecte: 
 '24/06/2017' pour la colonne 'registration_from' à la ligne 1 .__ (SQL: insérer dans `campus_registrations` (` campus_major_class_id` , 
 `registration_from`,` registration_to`, `testing`,` annonce`, 
 `scolment_from`,` enrôlement_to`, `updated_at`,` created_at`) valeurs (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)) 

Est-ce que je dois d'abord intier la date/heure ou quoi?

3
goateee25

L'erreur est ici:

Incorrect datetime value: '24/06/2017' for column 'registration_from' at row 1

le format par défaut de la colonne date dans mysql est Y-m-d et celui de datetime est Y-m-d H:i:s. Alors changez votre date en ce format et réessayez.

5
Mayank Pandeyz

Puisque vous n'utilisez pas le format de date/heure standard, définissez un mutateur pour chaque date. Par exemple:

public function setRegistrationFromAttribute($value)
{
    $this->attributes['registration_from'] =  Carbon::parse($value);
}
6
Alexey Mezenin

J'ai eu la même erreur en essayant d'inscrire un utilisateur depuis le frontend de vue js à l'API de laravel.

La solution consistait à mettre à jour le mode strict mysql sur false. Si quelqu'un connaît les inconvénients de cette approche, laissez vos commentaires!

//config/database.php
'mysql' => [
    'strict' => false,
]
2
Ryan Dhungel

J'ai eu le même problème et finalement, j'ai résolu le problème.

 $('.date-picker').datepicker({
                format: 'yy/mm/dd',
                autoclose: true,
                todayHighlight: true
            });
0
Ganesh Khadka

Référence

MYSQL reconnaît la valeur de la date au format YYYY-MM-DD ou YY-MM-DD. Vous pouvez utiliser /. Ce 24/06/2017 considéré invalide. Essayez 2017/06/24

0

Cela m’arrivait sous laravel 5.6, jusqu’à ce que je change le code en $table->date('last_date')->default(now());

0
Kwaye Kant