Tworzę niestandardowy moduł dla witryny e-commerce Magento, a moduł będzie koncentrował się wokół nowej (tj. Niestandardowej) tabeli, która ma złożony klucz główny złożony lub raczej tabela ma dwie kolumny, które składają się na klucz podstawowy. Czy ktoś wie, jak tworzyć modele/modele zasobów w oparciu o tabelę z kluczem złożonym?Model zasobów Magento dla tabeli ze złożonym kluczem podstawowym
Aby podać więcej szczegółów, zapoznałem się z kilkoma samouczkami, a także skorzystałem ze znakomitego skryptu moduleCreator. Wygląda jednak na to, że wszystkie tutoriale krążą wokół stołu z PK z jedną kolumną. Coś takiego:
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>');
}
}
Ponadto zauważyłem, że patrząc na model bazy danych prawie wszystkie tabele mają jeden klucz podstawowy. Rozumiem, że ma to wiele wspólnego ze strukturą db w stylu EAV, ale czy jest możliwe użycie tabeli ze złożonym PK? Chcę, jeśli to możliwe, trzymać się frameworku/konwencji Magento. Czy to zniechęca? Czy powinienem po prostu zmienić strukturę mojej niestandardowej tabeli, aby mieć kolumnę idiotyczną? Mogę to zrobić, ale geez!
(Inną notatką, o której myślałem, że chciałbym wspomnieć, jest to, że wygląda na to, że Zend Framework zapewnia sposób na oparcie klasy na stole złożonym kluczem podstawowym (see Example #20 on this page - około połowy drogi), więc wydaje się, że struktura Magento powinna również zapewniać to ... Po prostu nie rozumiem.)
Alan, twoja odpowiedzi są zawsze wyjątkowe. – shaune