Я создаю настраиваемый модуль для сайта электронной коммерции Magento, и модуль будет сосредоточен вокруг новой (т.е. настраиваемой) таблицы, которая имеет составной/составной первичный ключ, или, скорее, таблица имеет два столбца, которые составляют первичный ключ. Кто-нибудь знает, как создавать модели/модели ресурсов на основе таблицы с составным ключом?
Чтобы дать несколько подробностей, я просмотрел несколько руководств, а также использовал отличный moduleCreator script. Но похоже, что все учебники вращаются вокруг таблицы с ПК с одним столбцом в ней. Что-то вроде этого:
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>');
}
}
Кроме того, я просто заметил, что, глядя на модель базы данных, почти все таблицы имеют один первичный ключ. Я понимаю, что это имеет большое значение для структуры db в стиле EAV, но все же можно использовать таблицу с составной PK? Я хочу придерживаться рамки/соглашения Magento, если это возможно. Это обескураживает? Должен ли я просто изменить структуру моей таблицы, чтобы иметь некоторый столбец id? У меня есть возможность сделать это, но geez!
(Еще одно замечание, которое, как я думал, я бы упомянул, состоит в том, что он выглядит так, как будто Zend Framework обеспечивает способ создания класса в таблице с составным первичным ключом (см. пример № 20 на этой странице - примерно на полпути вниз), поэтому кажется, что инфраструктура Magento должна также обеспечить ее... Я просто не вижу, как.)