Suponha que eu tenha um Modelo A simples que a tabela de destino A agora eu precise adicionar algumas informações extras para que eu decida criar um Modelo B e salve essas informações extras em uma Tabela B com uma chave estrangeira apontando para a chave de índice da Tabela A.
Normalmente, as junções são feitas em coleções, mas se eu carregar um modelo, a coleção não é chamada, apenas o resource model
é usado.
Como posso modificar Modelo A para carregar também os dados do Quadro B em load()
?
Respostas:
A classe de modelo de recurso interno inclui a seguinte função
Quando você ligou
Mage::getModel('modulename/TableA')->load(1)
, esse método se juntará ao table_b.fonte
limit(1)
não é necessário:joinLeft()
será o suficiente ...Posso propor-lhe a abordagem que uso, e é bastante fácil.
Passos:
Reescreva o modelo de recursos do Modelo A (se o Modelo A for seu modelo e não o Magento, você poderá pular esta etapa)
Reescreva o método _getLoadSelect () do gabarito de recurso do Modelo A. A consulta de seleção é gerada nesse método e aqui você pode ingressar nas outras tabelas.
fonte