Verbinden von benutzerdefinierten Tabellen mit Magento-Befehlen

Ich habe versucht, zwei benutzerdefinierte Tabellen mithilfe von Magento-Befehlen zu verbinden. Nach der Suche stieß ich aufdieser Block von generischem Code

$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');

Im Anschluss an diese als Vorlage habe ich versucht, meine Tabellen zusammenzufügen, aber nur Fehler wie zurückgegebenincorrect table name odertable doesn't exist oder ein anderer Fehler.

Kann mich bitte jemand nach meinem Verständnis korrigieren, um die Dinge zu klären?

$collection = Mage::getModel('module/model_name')->getCollection();

Ruft eine Instanz Ihres Modells ab. Innerhalb dieses Modells befindet sich die Tabelle, die die erforderlichen Daten enthält (für dieses Beispiel werde ich die Tabelle p aufrufen).

$collection->getSelect()

Daten aus Tabelle p auswählen

->join()

Erfordert drei Parameter, um zwei Tabellen zusammenzufügen

PARAM1

array('table_alias'=>$this->getTable('module/table_name'))

'den Namen, den Sie der Tabelle geben' => 'die Tabelle, die Sie der Sammlung hinzufügen möchten (diese wurde im Modellordner eingerichtet)'

PARAM2

'main_table.foreign_id = table_alias.primary_key'

Dieses Bit bekomme ich nicht (es scheint aber direkt)

Meine Haupttabelle (p) hat keine fremde ID (sie hat ihren Primärschlüssel - ist das auch ihre fremde ID)?

muss gleich dem Namen sein, den Sie in param1 angegeben haben

PARAM3

'main_table.foreign_id = table_alias.primary_key'

Holen Sie sich alles aus alised Namen

Wo habe ich mein Verständnis falsch gemacht?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage