Привет, У меня возникла проблема с созданием таблицы с помощью построителя схем миграции. Проблема связана с таблицей с внутренним ключом внешней ссылки. Вот код, который производят ошибки:Laravel migration self reference external issue issue
Schema::create('cb_category', function($table)
{
$table->integer('id')->primary()->unique()->unsigned();
$table->integer('domain_id')->unsigned();
$table->foreign('domain_id')->references('id')->on('cb_domain');
$table->integer('parent_id')->nullable();
$table->foreign('parent_id')->references('id')->on('cb_category')->onUpdate('cascade')->onDelete('cascade');
$table->string('name');
$table->integer('level');
});
Здесь ошибка:
SQLSTATE[HY000]: General error: 1005 Can't create table 'eklik2.#sql-7d4_e' (errno: 150) (SQL: alter table `cb_cate
горы add constraint cb_category_parent_id_foreign foreign key (
parent_id ) references
cb_category (
id`) на дель ETE каскада на обновление каскада) (Bindings: массив ( ))
[PDOException] SQLSTATE [HY000]: Общая ошибка: 1005 Невозможно создать таблицу 'eklik2 # SQL-7d4_e' (errno: 150)
Есть идеи?
меня сломать его в 2-х заявлений , в любом случае ошибка остается: Schema :: create (...); Schema :: table ('cb_category', function ($ table) { $ table-> foreign ('parent_id') -> ссылки ('id') -> on ('cb_category') -> onUpdate ('cascade ') -> onDelete (' cascade '); }); – gandra404
Решенный с разбивкой. Вот код: Schema :: create ('cb_category', function ($ table) {...}); $ dbh = DB :: getPdo(); $ dbh-> query ("ALTER TABLE cb_category ADD CONSTRAINT fk_cb_category_parent_id FOREIGN KEY (parent_id) ССЫЛКИ cb_category (id) ON УДАЛИТЬ НЕТ ДЕЙСТВИЙ НА ОБНОВЛЕНИИ НЕТ ДЕЙСТВИЙ"); – gandra404