Kita perlu membuat dua kelas Rekaman Aktif, UserRecord dan PostRecord, masing-masing untuk mewakili rekaman data dalam tabel users dan posts. Kelas Rekaman Aktif harus diperluas dari kelas basis ActiveRecord, dan harus mendefinisikan nama properti yang sama dengan nama field dari tabel terkait.
Untuk mengatur lebih baik direktori, kita membuat direktori baru protected/database guna menampung file kelas. Kita juga memodifikasi konfigurasi aplikasi kita dengan menyisipkan baris berikut. Ini sama dengan menambahkan direktori protected/database ke PHP include_path, yang membolehkan kita untuk menggunakan kelas tanpa secara eksplisit menyertakannya.
Daripada menulis kelas secara manual, kita akan menggunakan piranti baris perintah PRADO lagi untuk membuat kelas bagi kita.
Di bawah direktori blog, jalankan perintah berikut untuk masuk ke dalam mode interaktif pada piranti baris perintah:
Kita akan melihat
Pada prompt, masukkan dua perintah berikut untuk membuat kelas UserRecord dan PostRecord:
Di sini kita menggunakan format namespace lagi untuk menetapkan kelas yang dibuat. Path Application.database.UserRecord menunjukan bahwa kita ingin file kelas UserRecord menjadi protected/database/UserRecord.php.
Kita akan melihat struktur direktori berikut dengan dua file baru di bawah protected/database:
Jika kita memeriksa file kelas PostRecord, kita akan melihat konten berikut.
Seperti kita lihat, untuk setiap field dalam tabel posts, kelas mempunyai anggota data terkait. Konstan TABLE menetapkan nama tabel untuk PostRecord. Metode statis finder() membolehkan kita melakukan query dan mengambil data tulisan dalam batasan obyek PostRecord.
Kita dapat menggunakan piranti baris perintah untuk melakukan beberapa pengujian dengan kelas Rekaman Aktif yang baru saja kita buat. Masih dalam mode interaktif pada piranti baris perintah, kita memasukan pernyataan PHP dan seharusnya melihat kode berikut. Para pembaca yang tertarik dapat mencoba pernyataan PHP laninnya, seperti misalnya UserRecord::finder()->findAll().
Mengingat bahwa ada hubungan kunci asing antara tabel users dan posts. Diagram hubungan-entitas ditampilkan di bawah ini demi kenyamanan.
Dari diagram hubungan-entitas di atas, kita merlihat bahwa tabel posts berisi field bernama author_id. Field author_id ini adalah kunci asing yang mereferensi tabel users. Dalam keadaan tertentu, nilai dalam field author_id seharusnya dari tabel users field username. Salah satu konsekuensi dari hubungan ini, dalam pola pikir obyek, adalah bahwa setiap "tulisan" milik "author" dan satu "author" dapat memiliki banyak "tulisan".
Kita dapat membuat model hubungan antara tabel posts dan users dalam Rekaman Aktif dengan memodifikasi kelas PostRecord dan UserRecord seperti berikut.
Properti statis $RELATIONS pada PostRecord mendefinisikan bahwa properti $author dimiliki UserRecord. Dalam array(self::BELONGS_TO, 'UserRecord'), elemen pertama mendefinisikan tipe hubungan, dalam hal ini self::BELONGS_TO. Elemen kedua adalah nama pada rekaman terkait, dalam hal ini UserRecord. UserRecord didefinisikan sama di bawah ini, perbedaannya yaitu rekaman pengguna mempunyai banyak PostRecord.
Sebuah array UserRecord dengan dan tulisan terkaitnya dapat diambil seperti berikut.
Dokumentasi lengkap selanjutnya dapat ditemukan dalam dokumen quickstart Rekaman Aktif.