Tôi đang cố gắng tạo khóa ngoại trong Laravel tuy nhiên khi tôi di chuyển bảng của mình bằng cách sử dụng thì artisan
tôi đã gặp phải lỗi sau:
[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`))
Mã di chuyển của tôi là như vậy:
tập tin di chuyển ưu tiên
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');
}
tập tin người dùng di chuyển
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');
}
Bất kỳ ý tưởng nào về những gì tôi đã làm sai, tôi muốn có được điều này ngay bây giờ, vì tôi đã có rất nhiều bảng tôi cần tạo, ví dụ: Người dùng, Khách hàng, Dự án, Nhiệm vụ, Trạng thái, Ưu tiên, Loại, Nhóm. Lý tưởng nhất là tôi muốn tạo các bảng chứa dữ liệu này bằng các khóa ngoại, i..e clients_project
và project_tasks
v.v.
Hy vọng ai đó có thể giúp tôi bắt đầu.