Mysql
 sql >> Database >  >> RDS >> Mysql

inserisci esplicitamente il campo della chiave primaria `id` autoincrement in laravel 5.2

Il problema deve essere nel modello Utente. Apri il file User.php e modifica il $fillable variabile. Aggiungi id alla matrice. Il $fillable La variabile dice a Eloquent quali campi proteggere da un'assegnazione di massa come quella che stai facendo (l'assegnazione di massa significa che stai impostando tutti i valori contemporaneamente nel tuo inserto). Quindi, anche se specifichi id come hai fatto nella tua chiamata create() Eloquent ignorerà qualsiasi valore tu abbia impostato perché quel campo non fa parte del $fillable campi.

Quindi avere quella variabile come:

protected $fillable = ['id', 'first_name', 'last_name'];

e dovresti essere a posto (considerando anche che non hai lasciato nessun campo vuoto che secondo la migrazione dell'utente non può essere nullo)