Я создаю пользовательский модуль для сайта электронной коммерции Magento, и модуль будет сосредоточен вокруг новой (т. Е. Пользовательской) таблицы, которая имеет составной / составной первичный ключ, или, скорее, таблица имеет два столбца, которые составляют первичный ключ. Кто-нибудь знает, как создавать ваши модели / модели ресурсов на основе таблицы с составным ключом?
Чтобы дать больше подробностей, я просмотрел несколько учебных пособий, а также использовал отличный скрипт moduleCreator . Но кажется, что все учебные пособия вращаются вокруг стола, в котором есть ПК с одним столбцом. Как то так:
class <Namespace>_<Module>_Model_Mysql4_<Module> extends Mage_Core_Model_Mysql4_Abstract {
public function _construct(){
$this->_init('<module_alias>/<table_alias>', '<table_primary_key_id>');
}
}
Кроме того, я только что заметил, что, глядя на модель базы данных, почти все таблицы имеют один первичный ключ. Я понимаю, что это во многом связано со структурой БД в стиле EAV, но все же возможно ли использовать таблицу с составным PK? Я хочу придерживаться рамок / соглашений Magento, если это возможно. Это не рекомендуется? Должен ли я просто изменить структуру моей пользовательской таблицы, чтобы иметь некоторый столбец фиктивного идентификатора? У меня есть возможность сделать это, но, черт возьми!
(Еще одно замечание, которое я хотел бы упомянуть, заключается в том, что, похоже, Zend Framework предоставляет способ создания класса на основе таблицы с составным первичным ключом ( см. Пример # 20 на этой странице - примерно на полпути вниз), поэтому кажется, что инфраструктура Magento также должна обеспечивать это ... Я просто не понимаю, как.)