From 8a6d62fbe24321bdd83afa118726f2bd14c7dfb3 Mon Sep 17 00:00:00 2001 From: kabayan <> Date: Thu, 30 Aug 2007 12:10:22 +0000 Subject: Indonesian ActiveRecord is synchronized with English one. --- .../protected/pages/Database/id/ActiveRecord.page | 23 +++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'demos/quickstart/protected/pages/Database') diff --git a/demos/quickstart/protected/pages/Database/id/ActiveRecord.page b/demos/quickstart/protected/pages/Database/id/ActiveRecord.page index b362acdb..e73c133b 100644 --- a/demos/quickstart/protected/pages/Database/id/ActiveRecord.page +++ b/demos/quickstart/protected/pages/Database/id/ActiveRecord.page @@ -40,6 +40,20 @@
  • Mengambil hubungan (terkait dengan obyek asing) seperti "has many", "has one", "belongs to" dan "has many" melalui asosiasi tabel.
  • Pengambilan lazy atas hubungan.
  • +

    Implikasi Desain

    +

    +Implementasi Prado terhadap Rekaman Aktif tida memelihara identitas referensial. Setiap obyek diperoleh menggunakan Rekaman Aktif pada data dalam database. Sebagai contoh, jika anda meminta kustomer tertentu dan mendapaptkan kembali obyek Customer, kali berikutnya anda meminta kustomer itu anda akan kembali mendapatkan turunan lain dari obyek Customer. Ini berarti bahwa perbandingan tepat (misalnya menggunakan ===) akan mengembalikan false, sementara perbandingan bebas (misalnya menggunakan ==) akan mengembalikan true jika nilai obyek sama menurut perbandingan bebas. +

    +

    +Implikasi desain ini terkait dengan pertanyaan berikut. +"Anda pikir kustomer sebagai obyek, di mana hanya satu, +atau anda pikir obyek yang anda operasikan sebagai duplikat dari database?" +Pemetaan O/R lain akan mengartikan bahwa hanya ada satu obyek Kustomer dengan custID 100, dan secara literal ia adalah kustomer. +Jika anda mendapatkan kustomer dan mengubah field-nya, maka anda sekarang telah mengubah kustomer itu. +"Itu berbatasan dengan: anda telah mengubah duplikat kustomer ini, tapi bukan pada duplikat itu. +Dan jika dua orang memutakhirkan kustomer pada dua duplikat obyek, siapapun yang memutakhirkan pertama kali, atau mungkin yang terakhir yang menang." [A. Hejlsberg 2003] +

    +

    Database yang Didukung

    Implementasi Rekaman Aktif memanfaatkan kelas Prado DAO untuk akses data. @@ -380,7 +394,7 @@ Kapan saja anda memanggil metode save() pada obyek TActiveRecord, obyek

    Untuk menghapus rekaman yang sudah ada dan diambil, cukup panggil metode delete(). Anda juga dapat menghapus rekaman dalam database dengan kunci primer tanpa mengambil rekaman apapun menggunakan metode deleteByPk() (dan metode yang sama deleteAllByPks()). - Sebagai contoh, untuk menghapus satu atau lebih rekaman dengan menggunakan satu atau lebih kunci primer. + Sebagai contoh, untuk menghapus satu atau beberapa rekaman dengan menggunakan satu atau lebih kunci primer.

    $finder->deleteByPk($primaryKey); //hapus 1 rekaman @@ -862,7 +876,7 @@ class PlayerRecord extends BaseFkRecord }

    Pertama kita perlu mengubah deklarasi $skills=array() ke properti privat $_skills (perhatikan garis bawah) dan sebaliknya setel ke null. Ini membolehkan kita untuk mendifinisikan properti skills menggunakan metode pengambil/penentu -(lihat Components untuk lebih jelasnya). Metode pengambil getSkills() untuk properti skills akan mengambil lambat rekaman skill terkait saat ia dipakai sebagai berikut. Catatan bahwa kita hanya melakukan pengambilan lambat ketika $player_id tidak null (ykni, ketika rekaman sudah diambil dari database ataau id player sudah disetel). +(lihat Komponen untuk lebih jelasnya). Metode pengambil getSkills() untuk properti skills akan mengambil lambat rekaman skill terkait saat ia dipakai sebagai berikut. Catatan bahwa kita hanya melakukan pengambilan lambat ketika $player_id tidak null (ykni, ketika rekaman sudah diambil dari database ataau id player sudah disetel).

    $player = PlayerRecord::finder()->findByPk(1); @@ -881,6 +895,9 @@ akan dikeluarkan. -
    $Id: ActiveRecord.page 2087 2007-07-26 13:00:36Z tof $
    \ No newline at end of file +
    $Id: ActiveRecord.page 2179 2007-08-30 02:17:55Z wei $
    \ No newline at end of file -- cgit v1.2.3