Migration avec laravel a travers laragon

Par Marnelle M'BENGUET, il y a 3 ans


Salut depuis que j'ai ajouté une table association j'ai du mal a faire des migrations, je rencontre un message d'erreur dont le numero est SQLSTATE[42S21]:

public function up(): void { Schema::create('etudiant_matieres', function (Blueprint $table) { $table->increments('id'); $table->timestamps(); $table->integer('etudiant_id') ->unsigned() ->index() ->primary('etudiant_id') ->autoIncrement() ->index();; $table->foreign('etudiant_id') ->references('id') ->on('etudiants') ->onUpdate('cascade') ->nullable() ->onDelete('cascade'); $table->integer('matiere_id') ->unsigned() ->index(); $table->foreign('matiere_id') ->references('id') ->on('matieres') ->onUpdate('cascade') ->nullable() ->onDelete('cascade'); $table->primary(['etudiant_id', 'matiere_id']);

Ce que je veux

ce que je veux c'est etablir un lien entre mes differentes tables et arriver a gere les relations plusieurs plusieurs

Ce que j'obtiens

les migrations se font sans probleme sur d'autres tables sauf sur la table association.

1 réponse

popotte, il y a 3 ans

Hello :)

Tu as quoi comme message d'erreur?

Déjà il y a des problèmes dans ta migration etudiant_id:

public function up(): void { Schema::create('etudiant_matieres', function (Blueprint $table) { $table->increments('id'); $table->timestamps(); $table->integer('etudiant_id') ->unsigned() ->index() ->primary('etudiant_id') ->autoIncrement() ->index();; // Tu passes 2 fois index(), et tu mets 2 fois des points virgule ;; ... }