Halo para pengguna Yii, mau tanya nih. Bagaimana caranya men-query banyak tabel secara efisien.
Misalnya begini saya punya 5 tabel yaitu user, profil, pendidikan_formal, organisasi dan pengalaman_kerja. kemudian saat tertentu saya ingin mendowload data2 tersebut sesuai dengan kriterian yg dibutuhkan. Selama ini sy menggunakan cara seperti ini:
// semua tabel berelasi dg tabel user. dan karena profil hanya boleh ada satu pd setiap user maka tidak di query lagi.
foreach($user as $key => $items) {
$pendidikanFormal = get pendidikan formal
$organisasi = get organisasi
$pengalamanKerja = get pengalaman kerja
// simpan ke array
}
generate ke excel
Masalahnya muncul ketika datanya ratusan/ribuan. errornya begini:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 82 bytes) in yii/framework/db/ar/CActiveRecord.php on line 1601
Mungkin teman2 semua punya solusinya?. terima kasih sebelumnya.
berarti mengambil dta jgan mengunakan opersi spt itu (mengambil query sekaligus dalam satu operasi query pasti berat eksekusi nya ) coba di criteria dng AR, lebih enak diparsial
Mungkin bisa diperjelas maksudnya?. soalnya itu sudah pake AR. jadi ada 5 model yg berhubungan.
// User HAS_MANY: PendidikanFormal, Organisasi dan PengalamanKerja.
// User HAS_ONE Profil
User
// BELONGS_TO User
Profil
// BELONGS_TO User
PendidikanFormal
Organisasi
PengalamanKerja
Dengan cara diatas sy bisa mengambil dari dari user dan profil. tetapi sy kesulitan mengambil data dari pendidikan formal, pengalaman kerja dan organisasi. soalnya datanya harus yg terakhir. ada saran?
karena waktu di generate ke excel query terbawah semua nya oleh sebab itu diparsial
kalau boleh tahu generate ke excel nya pake apa dan gimana?, masalah nya kayak nya waktu generate ke excel masalah itu muncul ( pernah ngalamin sih), kalau mau ngambil data jangan tabelnya tapi fielnya, seharusnya yg di get fieldnya, dan jg relasi nya dengan fieldnya yg mengacu ke tabelnya
kalau dikasih limit tidak error. cuma karena nantinya di export ke excel, kayaknya agak ribet . mungkin ada saran?. sementara ini sy buat tabel sendiri u/ menampung pendidikan terakhir
dengan catatan, tidak ada masalah dalam menterjemahkan dari AR ke array,
sehingga Menghabisan memorynya akibat besarnya array, dan temp yang dipegang excel, maka recomendasi terbaik adalah melimit kan nya dengan extra management…