Помогите, пожалуйста)Вроде нет проблем, поля одинаковые, но не хочет связывать. Последовательность правильная. Сначала создаётся users после неё сразу же mems.
Ошибка:
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `mems` add constraint `mems_user_id_foreign` foreign key (`user_id`) references `users` (`user_id`))
PDOException::("SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint")
/Applications/MAMP/htdocs/moderation/vendor/laravel/framework/src/Illuminate/Database/Connection.php:458
PDOStatement::execute()
/Applications/MAMP/htdocs/moderation/vendor/laravel/framework/src/Illuminate/Database/Connection.php:458
Вот миграция users:
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->nullable();
$table->string('avatar');
$table->string('password')->nullable();
$table->integer('user_id');
$table->integer('access_moderation')->nullable();
$table->integer('access_mems')->nullable();
$table->integer('access_admin')->nullable();
$table->rememberToken();
$table->timestamp('updated_at')->nullable();
$table->timestamp('created_at')->nullable();
});
Вот миграция mems
Schema::create('mems', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('img');
$table->integer('author_id');
$table->foreign('author_id')->references('user_id')->on('users');
});
PS. Поле user_id нужно для привязки авторизованного пользователя(вк)
По факту поля id
и user_id
должны быть уникальны в пределах таблицы и привычнее было бы привязываться именно к id
.
... но мне нужно именно Integer
Связываемые поля должны быть проиндексированы и иметь один тип и длину. В примере ниже использован уникальный индекс для поля user_id
в родительской таблице:
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
// ... остальные поля.
$table->integer('user_id')->unique();
});
Schema::create('mems', function (Blueprint $table) {
$table->bigIncrements('id');
// ... остальные поля.
$table->integer('author_id');
$table->foreign('author_id')->references('user_id')->on('users');
});
Выполните в командной строке php artisan migrate:fresh
.
Эта команда удалит все таблицы из Базы Данных и выполнит команду migrate
.
Больше информации по вашей ошибке MySQL Error Code 1215: "Cannot add foreign key constraint".
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Ошибка при создании пользователя
Задача такая - с помощью jax-запроса передать данные на обработчик, который с полученными данными в качестве аргументов вызовет функцию
Скажите, почему FILTER_SANITIZE_EMAIL не приводит следующий email в вид: mail@mailcom?