Mysql
 sql >> Base de données >  >> RDS >> Mysql

insérer explicitement le champ de clé primaire d'auto-incrémentation `id` dans laravel 5.2

Le problème doit être dans le modèle utilisateur. Ouvrez le fichier User.php et modifiez le $fillable variable. Ajouter id au tableau. Le $fillable La variable indique à Eloquent quels champs protéger d'une affectation en masse comme celle que vous faites (affectation en masse, ce qui signifie que vous définissez toutes les valeurs en même temps dans votre insertion). Donc, même si vous spécifiez id comme vous l'avez fait dans votre appel create(), Eloquent ignorera la valeur que vous avez définie car ce champ ne fait pas partie du $fillable champs.

Donc, ayez cette variable comme :

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

et vous devriez être prêt à partir (en tenant également compte du fait que vous n'avez laissé aucun champ vide qui, selon la migration de l'utilisateur, ne peut pas être nul)