您好我有一個使用遷移架構生成器創建表的問題。 問題出現在具有自引用外鍵的表中。 這裏是其產生錯誤的代碼:Laravel遷移自引用外鍵問題
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 (
上德爾 ETE級聯PARENT_ID ) references
cb_category (
id`)上更新級聯)(綁定:陣列( ))
[PDOException] SQLSTATE [HY000]:一般錯誤:1005無法創建表'eklik2。# sql-7d4_e'(errno:150)
任何想法?
我打破它在2個語句,無論如何錯誤依然存在: Schema :: create(...); ('cb_category') - > onUpdate('cascade)'('cb_category') - >參考('id') - >外部('parent_id') - ') - > 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)REFERENCES cb_category(id)ON DELETE NO ACTION ON UPDATE NO ACTION」); – gandra404