Apa perbedaan antara `joinField` dan` joinTable` dalam koleksi?


8

Dalam file tersebut app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php, ada fungsi bernama joinFielddan ada yang lain joinTable.

Jika bidang sebenarnya adalah kolom dalam tabel datar, apa artinya bergabung dengan mereka? Dan dalam situasi apa saya harus menggunakannya joinTable? Bisakah keduanya digunakan secara bergantian?

Jawaban:


5

Kedua metode hampir identik, perbedaannya adalah bahwa joinField()hanya memilih satu kolom dari tabel yang digabungkan, sementara Anda dapat menentukan array kolom di joinTable`.

Jadi Anda dapat selalu menggunakan joinTablebukan joinField. Contoh

 joinField('country_name', 'directory/country_name', 'name', 'country_id=shipping_country', "{{table}}.language_code='en'", 'left')

sama dengan

 joinTable('directory/country_name', 'country_id=shipping_country', ['country_name' => 'name'], "{{table}}.language_code='en'", 'left')

Tetapi joinField()sebaiknya tidak digunakan jika Anda membutuhkan lebih dari satu kolom dari tabel gabungan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.