Vous souhaitez nous soutenir ? Devenez sponsor de l'association sur notre page Github
Forum

Explication syntaxe

Tremblet Joel avatar
Publié le 7 juin 2024
Par Tremblet Joel

Bonjour

Je débute sur les connexions avec une bases de donnée Je ne comprend pas comment traduire cette syntaxe en SQL

1$table->foreignId('creator_user_id')->nullable()->default(null)->references('id')->on('users')->constrained()->onDelete('set null');

Merci pour vos explications

1 réponse
Antoine Benevaut, Il y a 1 mois

Hello!

Ici, tu tente de faire une liaison entre deux tables via deux colonnes. Tu es en train de créer une FOREIGN KEY.

Cette clef étrangère doit être insérée dans la table que tu es en train de manipulé (et pas spécifié dans ton exemple) et fait une référence à la colonne id de la table users. Voila à quoi ça ressemble dans les grandes lignes en SQL:

1ALTER TABLE `your_table_name`
2ADD COLUMN `creator_user_id` BIGINT UNSIGNED NULL DEFAULT NULL,
3ADD CONSTRAINT `your_table_name_creator_user_id_foreign`
4FOREIGN KEY (`creator_user_id`) REFERENCES `users`(`id`)
5ON DELETE SET NULL;

Note que your_table_name est la table que tu manipule et qui n'est pas spécifié dans ton exemple, c'est dans cette table qu'on tente d'ajouter la colonne creator_user_id qui est soit null soit l'id d'un utilisateur qui existe dans la table users.