हाय मुझे माइग्रेशन स्कीमा बिल्डर का उपयोग करके एक टेबल बनाने में समस्या है। समस्या कुंजी विदेशी संदर्भ के साथ तालिका के साथ होती है।लार्वा माइग्रेशन स्वयं संदर्भित विदेशी कुंजी समस्या
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 झरना पर ) references
cb_category (
id`) PARENT_ID अद्यतन झरना पर) (बाइंडिंग:
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');
});
यहाँ त्रुटि है: यहाँ कोड है जो उत्पादन त्रुटि है सरणी ( ))
[पीडीओएक्सप्शन] एसक्यूएलएसटीएटी [एचवाई 000]: सामान्य त्रुटि: 1005 तालिका 'eklik2 नहीं बना सकता। # sql-7d4_e '(errno: 150)
कोई विचार?
मेरे पास 2 बयान में इसे तोड़ने की कोशिश करो , वैसे भी त्रुटि बनी हुई है: स्कीमा :: बनाएं (...); स्कीमा :: तालिका ('cb_category', फ़ंक्शन ($ तालिका) { $ तालिका-> विदेशी ('parent_id') -> संदर्भ ('id') -> ऑन ('cb_category') -> ऑन अपडेट ('कैस्केड ') -> ऑनडेले (' कैस्केड '); }); – gandra404
तोड़ने के साथ हल हो गया। यहां कोड है: स्कीमा :: बनाएं ('cb_category', फ़ंक्शन ($ तालिका) {...}); $ डीबीएच = डीबी :: getPdo(); $ dbh-> क्वेरी ("वैकल्पिक तालिका cb_category कंसस्ट्रेंट जोड़ें fk_cb_category_parent_id विदेशी कुंजी (parent_id) संदर्भ cb_category (आईडी) अद्यतन पर कोई कार्रवाई निष्कासित नहीं करें"); – gandra404