IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Laravel PHP Discussion :

Migration et relation avec Laravel 6


Sujet :

Laravel PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2020
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Migration et relation avec Laravel 6
    Bonjour,

    Je me permets d'ouvrir une nouvelle discussion en raison d'un problème avec Laravel 6. Le problème est que j'ai créé des relations dans des modèles (une "HasMany" d'un côté et une "BelongsTo" de l'autre). Une fois que je fais la migration de mes fichiers de migration, je me rends compte que mes relations n'ont pas été reconnues. Je m'explique :

    1. Je crée mes migrations avec les types de champs, la taille maximale, etc...

    2. Je crée mes modèles correspondants aux migrations afin de pouvoir y mettre mes relations.

    3. Une fois que je fais un "php artisan migrate", la migration se fait sans problèmes (ainsi que la création des clés étrangères dans un fichier de migration à part) mais quand je regarde au niveau du concepteur de PhpmyAdmin, aucune relation entre les tables ne s'affichent. Ma question est donc : "Est-ce que cela est normal que les relations ne s'affichent pas dans le concepteur, ni dans les tables en regardant les id en question ? Faut-il faire une manipulation supplémentaire pour créer la migration entre les tables ?".

    Merci à vous et passez une bonne soirée.

    EDIT : Je vous fournis ce que j'ai obtenu en faisant un "php artisan migrate --pretend" :

    QuadrimestreList: create table `quadrimestres` (`id` int unsigned not null auto_increment primary key, `nom` varchar(45) not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
    EventHasTypeEvent: create table `event_has_type_events` (`Event_id` int unsigned not null, `type_event_id` int unsigned not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
    EventHasTypeEvent: alter table `event_has_type_events` add index `event_has_type_events_event_id_index`(`Event_id`)
    EventHasTypeEvent: alter table `event_has_type_events` add index `event_has_type_events_type_event_id_index`(`type_event_id`)
    EventHasTypeEvent: SET FOREIGN_KEY_CHECKS=1;
    EventList: create table `events` (`id` int unsigned not null auto_increment primary key, `nom` varchar(45) not null, `couleur_id` int unsigned not null, `annee_cours_id` int unsigned not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
    EventList: alter table `events` add index `events_couleur_id_index`(`couleur_id`)
    EventList: alter table `events` add index `events_annee_cours_id_index`(`annee_cours_id`)
    EventList: SET FOREIGN_KEY_CHECKS=1;
    EventHasQuadrimestre: create table `event_has_quadrimestres` (`Event_id` int unsigned not null, `quadrimestre_id` int unsigned not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
    EventHasQuadrimestre: alter table `event_has_quadrimestres` add index `event_has_quadrimestres_event_id_index`(`Event_id`)
    EventHasQuadrimestre: alter table `event_has_quadrimestres` add index `event_has_quadrimestres_quadrimestre_id_index`(`quadrimestre_id`)
    EventHasQuadrimestre: SET FOREIGN_KEY_CHECKS=1;
    EventHasLocal: create table `event_has_locals` (`Event_id` int unsigned not null, `local_id` int unsigned not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
    EventHasLocal: alter table `event_has_locals` add index `event_has_locals_event_id_index`(`Event_id`)
    EventHasLocal: alter table `event_has_locals` add index `event_has_locals_local_id_index`(`local_id`)
    EventHasLocal: SET FOREIGN_KEY_CHECKS=1;
    EventHasEnseignant: create table `event_has_enseignants` (`Event_id` int unsigned not null, `enseignant_id` int unsigned not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
    EventHasEnseignant: alter table `event_has_enseignants` add index `event_has_enseignants_event_id_index`(`Event_id`)
    EventHasEnseignant: alter table `event_has_enseignants` add index `event_has_enseignants_enseignant_id_index`(`enseignant_id`)
    EventHasEnseignant: SET FOREIGN_KEY_CHECKS=1;
    Enseignant: create table `enseignants` (`id` int unsigned not null auto_increment primary key, `nom` varchar(45) not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
    Couleur: create table `couleurs` (`id` int unsigned not null auto_increment primary key, `nom` varchar(45) not null, `code_hexa` varchar(45) not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
    AnneeCours: create table `annee_cours` (`id` int unsigned not null auto_increment primary key, `nom` varchar(255) not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
    Horaire: create table `horaires` (`id` int unsigned not null auto_increment primary key, `nom` varchar(255) not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
    Local: create table `locals` (`id` int unsigned not null auto_increment primary key, `nom` varchar(45) not null, `commentaire` varchar(255) not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
    Reservation: create table `reservations` (`id` int unsigned not null auto_increment primary key, `numero_semaine` int not null, `date` datetime not null, `heure_debut` varchar(45) not null, `heure_fin` varchar(45) not null, `Event_id` int unsigned not null, `horaire_id` int unsigned not null, `local_id` int unsigned not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
    Reservation: alter table `reservations` add index `reservations_event_id_index`(`Event_id`)
    Reservation: alter table `reservations` add index `reservations_horaire_id_index`(`horaire_id`)
    Reservation: alter table `reservations` add index `reservations_local_id_index`(`local_id`)
    Reservation: SET FOREIGN_KEY_CHECKS=1;
    TypeEvent: create table `type_events` (`id` int unsigned not null auto_increment primary key, `nom` varchar(45) not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    As-tu bien défini les relations dans les schemas de table ?

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $table->foreign('user_id','FK_profile_to_users')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
    Dans le log que tu fournis, je vois les index mais pas les relations.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2020
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Je réponds un peu tardivement mais j'ai trouvé la solution à mon problème. En fait j'avais mis (pour mes clés étrangères) des "Schema::enableForeignKeyConstraints(...)" alors qu'il fallait juste mettre des "Schema::table(...)". Merci quand même d'avoir voulu apporter une solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Migration table Mysql avec relation parent/enfant
    Par danidan75 dans le forum Installation, migration et administration
    Réponses: 0
    Dernier message: 05/08/2011, 22h38
  2. [Performances]Filtre et tri en relation avec DB
    Par stoukou dans le forum Général Java
    Réponses: 6
    Dernier message: 19/09/2005, 11h46
  3. Relations avec 3 champs
    Par koolkris dans le forum SQL
    Réponses: 2
    Dernier message: 14/09/2005, 12h02
  4. Réponses: 2
    Dernier message: 22/07/2004, 00h27
  5. Réponses: 2
    Dernier message: 26/09/2003, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo