Estoy creando un módulo personalizado para un sitio de comercio electrónico de Magento, y el módulo se centrará en una nueva tabla (compuesta, personalizada) que tenga una clave primaria compuesta/compuesta, o la tabla tiene dos columnas que constituyen la clave principal. ¿Alguien sabe cómo crear sus modelos/modelos de recursos basados en una tabla con una clave compuesta?Modelo de recurso de Magento para la tabla con clave primaria compuesta
Para dar algunos detalles más, he buscado varios tutoriales y también he usado el excelente script moduleCreator. Pero parece que todos los tutoriales giran alrededor de la tabla con un PK con solo una columna. Algo como esto:
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>');
}
}
Además, acabo de notar que al mirar el modelo de la base de datos, casi todas las tablas tienen una sola clave principal. Entiendo que esto tiene mucho que ver con la estructura db estilo EAV, pero ¿aún es posible usar una tabla con un PK compuesto? Quiero seguir con el marco/convenciones de Magento si es posible. ¿Está desalentado? ¿Debo simplemente cambiar la estructura de mi tabla personalizada para tener alguna columna de identificación ficticia? Tengo la capacidad de hacer eso, pero ¡Dios!
(Otra nota al margen que pensé que mencionaría es que parece que el Zend Framework proporciona una forma de basar una clase en una tabla con la clave primaria compuesta (see Example #20 on this page - aproximadamente a la mitad), por lo que parece que el marco de Magento también debería preverlo ... Simplemente no veo cómo).
Alan, su las respuestas siempre son sobresalientes – shaune