Beberapa server event di PHPMaker diciptakan berpasang-pasangan. Yang satu dipanggil saat proses sedang berlangsung, yang lainnya dipanggil saat proses sudah selesai dijalankan. Contoh: Row_Deleting dan Row_Deleted, Row_Inserting dan Row_Inserted. Demikian juga dengan Row_Updating yang baru saja kita bahas di artikel saya sebelumn ini, berpasangan dengan Row_Updated
Server event Row_Updated berada di bawah lokasi Server Events -> Table-Specific -> Common di dalam project PHPMaker Anda. Pastikan sebelumnya Anda sudah memilih salah satu Table yang Anda inginkan dari panel Database di sebelah kiri dari project PHPMaker Anda, untuk memastikan Anda menambahkan kode di server event pada Table yang tepat.
Dari namanya saja kita sebagai Web Developer dapat memahami dengan mudah fungsi dari setiap server event tersebut. Row_Updated akan dipanggil setelah berhasil mengubah atau memperbarui sebuah atau beberapa kumpulan Record. Argumen dari server event ini merupakan array dari Record yang Lama dan Record yang Baru yang sudah diperbarui.
Server event Row_Updated merupakan member dari Class Table. Anda sebagai Web Developer dapat menggunakan member lainnya yang terdapat di Class ini (jika dibutuhkan).
Seperti biasa, supaya lebih jelas, mari kita simak contoh berikut. Setelah memperbarui sebuah nilai pada Field yang terdapat di tabel detail (FieldInDetailTable), sistem akan memperbarui nilai pada Field di tabel master (FieldInMasterTable) yang direlasikan berdasarkan field PrimaryKeyFieldInMasterTable.
function Row_Updated($rsold, &$rsnew) { // var_dump(rsold, rsnew); die(); // <-- Tampilkan Record lama dan baru dan langsung akhiri eksekusi script $rs = array(); $rs["FieldInMasterTable"] = $rsnew["FieldInDetailTable"]; // Tentukan nilai field (new cMasterTable())->Update($rs, "PrimaryKeyFieldInMasterTable = " + rsnew["ForeignKeyFieldInDetailTable"]); // Catatan: Class Table dinamai dengan c<TableName>. // Asumsi: PrimaryKeyFieldInMasterTable adalah field integer. }
Untuk kesekian kalinya, betapa PHPMaker dapat membantu Web Developer untuk menyisipkan business-process dengan mudah dan cepat. 🙂
Tinggalkan Balasan