Laravel 7

27 commentaires

  • Nanourgo

    Bonjour !

    J’ai terminé le tutoriel complet sur Laravel 7. Et j’ai commencé un exercice afin de confirmer ce que j’ai appris.
    J’ai créé des tables avec clés étrangère. Cependant quand je fais ma migration, je reçois l’erreur suivante :

    General error: 1215 Cannot add foreign key constraint (SQL: alter table `courses` add constraint `courses_teacher_id_foreign` foreign key (`teacher_id`) references `teachers` (`id`) on delete cascade)

    Voici les deux tables :

    la table teachers
    public function up()
    {
    Schema::create(‘teachers’, function (Blueprint $table) {
    $table->increments(‘id’);
    $table->string(‘name’);
    $table->string(’email’)->unique();
    $table->string(‘passmord’);
    $table->timestamp(’email_verified_at’)->nullable();
    $table->enum(‘civility’, [‘Mme’, ‘M.’]);
    $table->string(‘phone’);
    $table->string(‘image’)->nullable();
    $table->boolean(‘newsletter’);
    $table->boolean(‘admin’)->default(false);
    $table->timestamp(‘last_seen’)->nullable();
    $table->timestamps();
    $table->rememberToken();
    });
    }

    la table courses qui doit recevoir la clé étrangère de la table categories
    public function up()
    {
    Schema::create(‘courses’, function (Blueprint $table) {
    $table->bigIncrements(‘id’, true);
    $table->string(‘title’);
    $table->string(‘description’);
    $table->integer(‘session’);
    $table->decimal(‘price’);
    $table->boolean(‘active’)->default(false);
    $table->string(‘image’)->nullable();
    $table->date(‘start’);
    $table->foreignId(‘teacher_id’)->constrained()->onDelete(‘cascade’);
    $table->timestamps();
    });

    Schema::table(‘courses’, function (Blueprint $table) {
    $table->bigInteger(‘teacher_id’)->unsigned();
    $table->foreign(‘teacher_id’)->references(‘id’)->on(‘teachers’)->onDelete(‘set null’);
    });
    }

    J’ai déjà éssayé tout mais je ne trouve pas la solution

  • Nanourgo

    Bonjour !

    J’ai terminé le tutoriel complet sur Laravel 7. Et j’ai commencé un exercice afin de confirmer ce que j’ai appris.
    J’ai créé des tables avec clés étrangère. Cependant quand je fais ma migration, je reçois l’erreur suivante :

    General error: 1215 Cannot add foreign key constraint (SQL: alter table `courses` add constraint `courses_teacher_id_foreign` foreign key (`teacher_id`) references `teachers` (`id`) on delete cascade)

    Voici les deux tables :

    la table categories
    public function up()
    {
    Schema::create(‘categories’, function (Blueprint $table) {
    $table->increments(‘id’);
    $table->string(‘name’, 100);
    $table->string(‘slug’, 50);
    });
    }

    la table courses qui doit recevoir la clé étrangère de la table categories
    public function up()
    {
    Schema::create(‘courses’, function (Blueprint $table) {
    $table->increments(‘id’);
    $table->string(‘title’);
    $table->string(‘description’);
    $table->integer(‘session’);
    $table->decimal(‘price’);
    $table->boolean(‘active’)->default(false);
    $table->string(‘image’)->nullable();
    $table->date(‘start’);
    $table->timestamps();
    });

    Schema::table(‘courses’, function (Blueprint $table) {
    $table->bigInteger(‘category_id’)->unsigned();
    $table->foreign(‘category_id’)->references(‘id’)->on(‘categories’)->onDelete(‘set null’);
    });
    }

    J’ai déjà éssayé tout mais je ne trouve pas la solution

  • Ybag62

    Bonjour.
    Merci beaucoup pour ces heures de partage, je prends plaisir à apprendre en vous lisant !

    Pour des besoins professionnels, je me forme sur le PHP et notamment laravel grâce à vous.

    Je dois utiliser laravel 7 car la version PHP du serveur pro mis à ma disposition est en version 7.2
    J’ai besoin d’avoir une gestions de rôles et de permission, j’ai vu jetstream dans votre cours Laravel 8 mais il n’est pas compatible avec PHP 7.2.

    Auriez-vous quelque chose de similaire à me conseiller ?

    D’avance, merci.

    Gaby.

  • Krum

    Bonjour à tous.
    J’aimerai savoir si il existe un calendrier CRUD efficient avec Laravel7?
    J’ai test le Madhatter…. il n’a pas l’air de fonctionner avec cette version…
    J’ai également essayer un fork de ce dernier (qlick).
    Mais rien à faire. Une idée s’il vous plait?

  • Momartalla

    Bonjour,
    Merci beaucoup pour ce tutoriel!
    J’ai constaté sur la plupart des sites de e-commerce qu’il y’a une table catégories, mais pas sur votre site. Est ce que je peux avoir un tuto sur ça et aussi sur le menu latéral pour les widgets?

  • Lerado

    Salut bestmomo, et milles mercis pour ces tutoriels si bien ficelés, autant ceux de Vue que ceux de Laravel. Quand j’ai découvert ce site je cherchais un moyen d’améliorer de façon significative mes compétences en frameworking front-end et back-end. Autant dire qu’ici, j’ai trouvé les deux ! J’ai été primé par mon université grâce à toi ! Encore merci.

    Tu as toutes les belles pensées de la communauté francophone.

    Juste comme ça, est-ce qu’il y’aura un tuto pour apprendre à déployer un projet avec Vue en front-end et Laravel en api back-end ?

  • Sarx

    Bonjour !

    J’ai enfin terminé tous le tutoriel sur Laravel 7.
    Et je tiens à te remercier pour nous avoir dispenser ton savoir de manière claire et professionnelle !
    ça a vraiment été un plaisir de le suivre ! 🙂

    Cependant une question demeure… Comment héberges-t-on un site fait sous Laravel ?
    Par exemple sur l’hébergeur OVH mutalisé ?

    Encore merci !

    • bestmomo

      Salut,
      Pour un hébergement mutualisé le plus simple c’est d’avoir un site qui tourne en local et :

      • d’envoyer en FTP tous les fichiers sauf les dossiers vendor et node_modules, optionnellement c’est plus rapide d’envoyer un ZIP et de dézipper sur le serveur
      • avoir un fichier .env spécifique pour la version déployée (pas de DEBUG, identifiants pour la base…)
      • si on n’a pas composer sur le serveur il faut charger la version PHAR et l’envoyer aussi dans le root
      • faire un composer install pour charger toutes les librairies
      • bien faire pointer son domaine sur le dossier public

      Et normalement ça devrait fonctionner

      Pour les updates ultérieurs avec Composer si ça coince au niveau mémoire (avec un composer update) il faut d’abord faire l’update en local, envoyer le fichier composer.lock et faire composer install sur le serveur.

  • pascalain004

    Bonjour bestmomo . C’est un véritable régal de lire vos tutos et une aide incommensurable pour des débutants comme moi.
    Merçi pour tout.

    J’ai une sollicitation.

    A ton avis, pour modéliser en UML mon application web de manière à passer facilement de la conception au développement,
    Quels approche tu recommande? (diagrammes, etc … les plus utiles).
    Bref quel astuce ou démarche (étape par étape) conseille tu as un débutant pour passer de la modélisation au code.
    Enfin, je me suis fait l’idée que pour mieux développer avec laravel, il considérer que à chaque fonctionnalité de l’application, correspond un contrôleur et les routes conséquentes. Suis je dans l’erreur?

    • bestmomo

      Bonjour,

      Merci d’apprécier mon travail ! Je trouve que le partage est un des piliers de notre humanité !

      En ce qui concerne la modélisation, personnellement j’ai appris il y a maintenant bien longtemps avec la méthode Merise. Après ça devient une seconde nature et le processus se fait en tache de fond dans le cerveau ! C’est une excellente porte d’entrée à ce domaine et il existe de très bons tutoriels comme celui-ci.

      Je suis d’accord pour la multiplication des contrôleurs, d’ailleurs Taylor Otwell, le créateur de Laravel, l’a conseillé maintes fois, des contrôleurs trop chargés sont un signe qu’il faut refactoriser son code.

Laisser un commentaire