объединение пользовательских таблиц с помощью команд 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'))

'псевдоним, который вы даете таблице' => 'таблица, которую вы хотите добавить в коллекцию (это было настроено в папке модели)'

param2

'main_table.foreign_id = table_alias.primary_key'

Этот бит я не получаю (кажется, прямо вперед)

моя главная таблица (p) не имеет внешнего идентификатора (у него есть первичный ключ - это тоже внешний идентификатор)?

должно совпадать с именем alised, которое вы дали в param1

param3

'main_table.foreign_id = table_alias.primary_key'

получить все от имени alised

Где я ошибся в моем понимании?

Ответы на вопрос(1)

Ваш ответ на вопрос