Misalkan saya memiliki Model A sederhana yang menargetkan tabel A sekarang saya harus menambahkan beberapa info tambahan jadi saya memutuskan untuk membuat Model B dan menyimpan info tambahan itu dalam Tabel B dengan kunci asing yang menunjuk ke Tabel A kunci indeks.
Biasanya Bergabung dilakukan dalam koleksi tetapi jika saya memuat model koleksi tidak dipanggil, melainkan hanya resource model
digunakan.
Bagaimana cara merubah Model A untuk memuat juga data dari Tabel B di load()
?
Jawaban:
Kelas model sumber daya dalam menambahkan fungsi berikut
Ketika Anda menelepon
Mage::getModel('modulename/TableA')->load(1)
, metode ini akan bergabung dengan table_b.sumber
limit(1)
tidak diperlukan:joinLeft()
akan cukup ...Saya dapat mengusulkan Anda pendekatan yang saya gunakan, dan itu cukup mudah.
Langkah:
Tulis ulang model sumber daya Model A (Jika Model A adalah model Anda dan bukan Magento maka Anda dapat melewati langkah ini)
Metode penulisan ulang _getLoadSelect () model sumber daya Model A. Kueri pemilihan dihasilkan dalam metode ini dan di sini Anda dapat bergabung dengan tabel lainnya.
sumber