J'essaie de créer des clés étrangères dans Laravel cependant quand je migre ma table en utilisant artisan
je reçois l'erreur suivante:
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL
: alter table `priorities` add constraint priorities_user_id_foreign foreign
key (`user_id`) references `users` (`id`))
Mon code de migration est le suivant:
fichier de migration des priorités
public function up()
{
//
Schema::create('priorities', function($table) {
$table->increments('id', true);
$table->integer('user_id');
$table->foreign('user_id')->references('id')->on('users');
$table->string('priority_name');
$table->smallInteger('rank');
$table->text('class');
$table->timestamps('timecreated');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
Schema::drop('priorities');
}
fichier de migration des utilisateurs
public function up()
{
//
Schema::table('users', function($table)
{
$table->create();
$table->increments('id');
$table->string('email');
$table->string('first_name');
$table->string('password');
$table->string('email_code');
$table->string('time_created');
$table->string('ip');
$table->string('confirmed');
$table->string('user_role');
$table->string('salt');
$table->string('last_login');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
Schemea::drop('users');
}
Toutes les idées sur ce que j'ai fait de mal, je veux l'obtenir maintenant, car j'ai beaucoup de tableaux que je dois créer, par exemple utilisateurs, clients, projets, tâches, statuts, priorités, types, équipes. Idéalement, je veux créer des tables qui contiennent ces données avec les clés étrangères, i..e clients_project
et project_tasks
etc.
J'espère que quelqu'un pourra m'aider à démarrer.