Ce n'onDelete('cascade') signifie?
Schema::table('posts', function (Blueprint $table) {
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade')
});
Est-ce à dire que si je supprime un message, l'utilisateur sera également supprimé ou signifie-t-il si je supprime un utilisateur, de l'ensemble de leurs postes seront supprimés?
">onDelete" devrait être "->onDelete" et vous avez le double ";;"
OriginalL'auteur code511788465541441 | 2017-03-29
Vous devez vous connecter pour publier un commentaire.
Réponse courte est: dans votre cas, si vous avez supprimé un
user
, tous les postes liés à lui sera supprimé aussi.onDelete('cascade');
ajoute simplementON DELETE CASCADE
règle à votre base de données qui spécifie que l'enfant données est supprimé quand le parent de données est supprimé.Note: prendre soin de la faute de frappe (double point-virgule)
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
on()
tableau est supprimé, ces associés étrangers de dossiers seront également supprimés. Notez également queforeign()
ne peut pas être enchaîné à une colonne de la création de déclaration.OriginalL'auteur M.Elwan
Le code dont vous parlez, crée une clé étrangère /référence à une colonne d'une autre table. Le
onDelete('cascade')
signifie que lorsque la ligne est supprimée, il va supprimer toutes ses références et de données attachées trop.Par exemple, si vous avez un Utilisateur qui a un Poste et que vous définissez onDelete('cascade') sur l'utilisateur, lorsque l'utilisateur supprime son compte, tous les postes seront supprimés ainsi.
Vous pouvez trouver plus d'informations sur Laravel excellente documentation.
OriginalL'auteur Hyder B.
Cela signifie que si vous supprimez l'utilisateur liée, les "posts" liée à celle de l'utilisateur seront automatiquement supprimés.
OriginalL'auteur Peter-Paul
Si vous utilisez mysql, jetez un oeil à la la documentation.
Dans votre cas, il signifie: Si l'utilisateur est supprimé, le poste sera également supprimé.
OriginalL'auteur halloei