Использование Laravel 5.3 и модели Eloquent, Попытка создать пользовательскую модель для подражания.основная схема, что у меня есть 2 таблицы пользователи и роли , у каждого пользователя есть роль, и у каждой роли есть много пользователей (отношение один ко многим).
, когда яя пытаюсь сделать внешний ключ в таблице user , которая ссылается на идентификатор в таблице role , это дает мне эту ошибку
В строке Connection.php 647:
SQLSTATE [HY000]: общая ошибка: 1005 Невозможно создать mydata таблицы. # Sql-7e0_71 (errno: 150 «Ограничение внешнего ключа сформировано неправильно») (SQL: изменить таблицу «пользователь» добавить ограничениеВнешний ключ «user_role_id_foreign» («role_id») ссылается на роли («id»))
В строке 449 Connection.php:
SQLSTATE [HY000]: общая ошибка: 1005 Не удается создатьтаблица mydata. # sql-7e0_71 (номер ошибки: 150 «Ограничение внешнего ключа сформировано неправильно»)
Примечание: Я использую команду ремесленника migrate
, и я 'я попробовал эти ответы 1 , 2
вот моя up()
функция для моего пользователя migratiна
public function up()
{
Schema::create('user', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->integer('role_id')->unsigned();
$table->string('remember_token')->nullable();
$table->timestamps();
$table->foreign('role_id')->references('id')->on('role');
});
}
и на роль стол
public function up()
{
Schema::create('role', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('description');
$table->timestamps();
});
}