Comment ajouter une clé étrangère à une table par programme?
-
30-10-2019 - |
Question
J'essaie d'ajouter un ensemble de nouvelles tables et j'essaie d'ajouter une clé étrangère pour lier ces tables. J'ai regardé en ligne pour essayer de trouver des informations sur addForeignKey()
mais je ne trouve rien.
Regarder Varien_Db_Adapter_Interface::addForeignKey()
et Mage_Core_Model_Resource_Setup::getFkName()
Je pensais que j'avais été en dessous de la configuration correctement
->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
)
Mais l'exception dit différente
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
[function] => addForeignKey
[class] => Varien_Db_Ddl_Table
[type] => ->
[args] => Array
(
[0] => FK_SHOP_LOCATOR_SHOP_AREA_ID_SHOP_LOCATOR_AREA_AREA_ID
[1] => shop_locator_shop
[2] => area_id
[3] => shop_locator_area
[4] => area_id
[5] => CASCADE
[6] => CASCADE
)
)
Fondamentalement, comment puis-je ajouter une clé étrangère à ma table (j'ai ajouté une capture d'écran de ce que j'essaie de réaliser)
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange