Pada versi-versi major sebelum PHPMaker 2021, kita dapat menggunakan satu baris kode PHP berikut untuk mengambil data di bagian table Master untuk ditampilkan di bagian table Detail, seperti yang sudah pernah kita bahas pada artikel Mengambil Data Master untuk Ditampilkan di Tabel Detail pada Halaman Master/Detail.
Katakanlah pada demo project PHPMaker 2020, kita ingin mengambil data dari field CustomerID pada table Master yang bernama orders, untuk ditampilkan di bagian bawah dari table Detail yang bernama orderdetails, pada halaman Master/Detail List.
Cukup copy dan paste-kan kode berikut ke server event Page_DataRendered milik table orderdetails:
$footer = "Customer ID: " . $GLOBALS['orders']->CustomerID->CurrentValue;
Sayangnya, kode tersebut sudah tidak berlaku lagi pada PHPMaker 2021. Penyebabnya, karena di v2021, PHPMaker menggunakan Container() untuk membungkus object table, termasuk untuk table Master pada halaman Master/Detail List tadi.
Kode di atas, cukup kita ganti menjadi seperti ini:
$footer = "Customer ID: " . Container("orders")->CustomerID->CurrentValue;
Perhatikanlah bahwa jika di versi 2020 dan sebelumnya, kita bisa menggunakan variable global dengan nama table Master-nya, sedangkan mulai versi 2021, kita cukup menggantinya dengan menggunakan object Container().
Betapa mudah dan cepatnya, bukan?
Gak pake lama.
Gak pake ribet.
PHPMaker, gitu lho! 😉
Mat Malam Pak Masino.
Mohon bantuannya kalo pesan seperti ini:
C:\xampp\htdocs\dpu-2022\src\DbTableBase.php(393): Obsolete property: tbl_data_awal_04_sub_kegiatan_Count, please use Container(‘tbl_data_awal_04_sub_kegiatan’)->Count.
tabel Program dibuat Master/Detai dengan tabel Kegiatan
tbl_data_awal_02_program.KdTa = tbl_data_awal_03_kegiatan.KdTa
tbl_data_awal_02_program.KdProg = tbl_data_awal_03_kegiatan.KdProg
kemudian
tabel Kegiatan dibuat Master/Detai dengan tabel SubKegiatan
tbl_data_awal_03_Kegiatan.KdTa = tbl_data_awal_04_SubKegiatan.KdTa
tbl_data_awal_03_KegiatanKdProg = tbl_data_awal_04_SubKegiatan.KdProg
tbl_data_awal_03_KegiatanKdSubKeg = tbl_data_awal_04_SubKegiatan.KdSubKeg
Reerential Integrity = Uncheck
Cascade Delete = Uncheck
Cascade Update = Uncheck
Aku pake PHP Maker v.2021 0.011
Pastikan Anda menggunakan versi minor terakhir, baik untuk PHPMaker, yaitu 2021.0.15, demikian juga dengan extension Preview-nya.
Makasih Pak Masino.