คำถามติดแท็ก foreign-key

1
จะเพิ่ม foreign key ในตารางโดยทางโปรแกรมได้อย่างไร
ฉันกำลังพยายามเพิ่มชุดของตารางใหม่และฉันกำลังพยายามเพิ่มคีย์ต่างประเทศเพื่อเชื่อมโยงตารางเหล่านี้ ฉันดูออนไลน์เพื่อพยายามค้นหาข้อมูลบางอย่างเกี่ยวกับaddForeignKey()แต่ไม่พบอะไรเลย มองVarien_Db_Adapter_Interface::addForeignKey()และMage_Core_Model_Resource_Setup::getFkName()ฉันคิดว่าฉันมีการตั้งค่าด้านล่างถูกต้อง ->addForeignKey( $installer->getFkName('namespace_module/shop', 'area_id', 'namespace_module/area','area_id'), $installer->getTable('namespace_module/shop'), 'area_id', $installer->getTable('namespace_module/area'), 'area_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE ) แต่ข้อยกเว้นบอกว่าแตกต่างกัน Zend_Db_Exception Object ( [_previous:Zend_Exception:private] => [message:protected] => Undefined column "shop_locator_shop" [string:Exception:private] => [code:protected] => 0 [file:protected] => /Users/myname/Sites/site/www/lib/Varien/Db/Ddl/Table.php [line:protected] => 450 [trace:Exception:private] => Array ( [0] => Array ( [file] => /Users/myname/Sites/site/www/app/code/local/Namespace/Module/sql/namespace_module_setup/install-0.1.0.php [line] => 110 …

1
ทำไม Magento 2 `addForeignKey` ฟังก์ชั่นไม่มี 'onUpdate' และวิธีเพิ่มในขณะที่เพิ่ม foreign key
ฉันเริ่มต้นด้วยสคริปต์การตั้งค่า Magento 2 และฉันพบการเปลี่ยนแปลงเล็กน้อยกับaddForeignKeyพารามิเตอร์ฟังก์ชั่นของ Magento ใน Magento 1 ข้อโต้แย้งของฟังก์ชันนั้นเป็นเช่น public function addForeignKey($fkName, $column, $refTable, $refColumn, $onDelete = null, $onUpdate = null) มีตัวเลือกสำหรับกำหนดสิ่งที่ต้องทำในการอัปเดตแถวตารางที่อ้างอิง ขณะที่ใน Magento 2 ข้อโต้แย้งสำหรับฟังก์ชันเดียวกันนั้นจะเป็นดังนี้ public function addForeignKey($fkName, $column, $refTable, $refColumn, $onDelete = null) พวกเขาได้ลบการonUpdateโต้แย้ง ใครบ้างมีความคิดเกี่ยวกับสาเหตุที่พวกเขาทำอย่างนั้น? ทุกคนสามารถให้คำแนะนำฉันว่าควรทำอย่างไรถ้าฉันต้องการเพิ่มonUpdateการดำเนินการสำหรับคีย์ต่างประเทศ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.