@yv1995

Как связать две таблицы один ко многим в ORM?

Делаю модуль для мадженто и в файле install нужно связать две таблицы :
Первая таблица меню , вторая таблица ссылки, т.е. одно menu -много links
Вот сами исходники:

$installer = $this;
$tableCmsMenu = $installer->getTable('customcmsmenu/table_cmsmenu');
$tableCmsMenuLinks = $installer->getTable('customcmsmenu/table_cmsmenulinks');

$installer->startSetup();

$installer->getConnection()->dropTable($tableCmsMenu);
$installer->getConnection()->dropTable($tableCmsMenuLinks);
$tableMenu = $installer->getConnection()
->newTable($tableCmsMenu)
->addColumn('menu_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
'identity' => true,
'nullable' => false,
'primary' => true,
))
->addColumn('menu_name', Varien_Db_Ddl_Table::TYPE_VARCHAR, '255', array(
'nullable' => false,
))
->addColumn('status', Varien_Db_Ddl_Table::TYPE_VARCHAR, '255', null, array(
'nullable' => false,
))
->addColumn('created', Varien_Db_Ddl_Table::TYPE_DATE, null, array(
'nullable' => false,
));

$tableLinks = $installer->getConnection()
->newTable($tableCmsMenuLinks)
->addColumn('links_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
'identity' => true,
'nullable' => false,
'primary' => true,
))
->addColumn('label', Varien_Db_Ddl_Table::TYPE_TEXT, '255', array(
'nullable' => false,
))
->addColumn('url_key', Varien_Db_Ddl_Table::TYPE_TEXT, null, array(
'nullable' => false,
))
->addColumn('position', Varien_Db_Ddl_Table::TYPE_VARCHAR, '255', null, array(
'nullable' => false,
))
->addColumn('type', Varien_Db_Ddl_Table::TYPE_TINYINT, null, array(
'nullable' => false,
));
$installer->getConnection()->createTable($tableMenu);
$installer->getConnection()->createTable($tableLinks);

$installer->endSetup();

Что нужно дописать, чтобы их связать? Спасибо)
  • Вопрос задан
  • 190 просмотров
Пригласить эксперта
Ответы на вопрос 1
link_web
@link_web
Magento, Laravel, Zend, Shopify, Prestashop, WP
А если у вас ссылки будут добавляться позже? Что мешает в модуле в нужный блок поместить уже связанные через модели данные?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы