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

Laravel - Violation de la contrainte d'intégrité :1452 Impossible d'ajouter ou de mettre à jour une ligne enfant :une contrainte de clé étrangère échoue

Le create la méthode crée et enregistre une nouvelle instance de votre modèle. Étant donné que le modèle n'inclut pas l'identifiant de l'utilisateur à ce stade, il échoue.

Vous pouvez résoudre ce problème en ajoutant user_id au tableau fillables de votre modèle et ajoutez également l'identifiant de l'utilisateur au $validatedData tableau avant de créer le modèle.

Alternativement, vous pouvez également créer une nouvelle instance de votre modèle avec le new mot-clé, définissez toutes les données et enregistrez-les explicitement une fois que vous avez terminé :

$article = new Article($validatedData);
$article->user()->associate( Auth::user() );
$article->save();