объединение пользовательских таблиц с помощью команд magento
Я пытался объединить две пользовательские таблицы, используя magento 'с командами. После поиска я наткнулсяэтот блок универсального кода
$collection = Mage::getModel('module/model_name')->getCollection();
$collection->getSelect()->join( array('table_alias'=>$this->getTable('module/table_name')),
'main_table.foreign_id = table_alias.primary_key',
array('table_alias.*'),
'schema_name_if_different');
Следуя этому шаблону, я попытался объединить свои таблицы, но только возвращал ошибки, такие какincorrect table name
или жеtable doesn't exist
или какая-то другая ошибка.
Просто, чтобы прояснить ситуацию, может кто-нибудь поправить меня, если я понимаю
$collection = Mage::getModel('module/model_name')->getCollection();
Получает экземпляр вашей модели. В этой модели находится таблица, которая содержит необходимые данные (для этого примера я назову таблицу p)
$collection->getSelect()
Выберите данные из таблицы p
->join()
Требуется три параметра для объединения двух таблиц
PARAM1'
array('table_alias'=>$this->getTable('module/table_name'))
имя alised, которое вы даете таблице '=> 'таблица, которую вы хотите добавить в коллекцию (это было настроено в папке модели) '
param2
'main_table.foreign_id = table_alias.primary_key'
Этот бит я нене получается (хотя это кажется прямым)
мой основной стол (р) нене иметь иностранный идентификатор (у него есть 'первичный ключ - это тоже его внешний идентификатор)?
должно совпадать с именем alised, которое вы дали в param1
param3
'main_table.foreign_id = table_alias.primary_key'
получить все от имени alised
Где я ошибся в моем понимании?