From bfa6bb80c959affbc36b672a2165be3ff3847405 Mon Sep 17 00:00:00 2001 From: kabayan <> Date: Sun, 9 Dec 2007 18:21:38 +0000 Subject: Indonesian, synchronized. --- .../protected/pages/Database/id/ActiveRecord.page | 39 +++++++++++++++------- 1 file changed, 27 insertions(+), 12 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 a171ed7d..954033d8 100644 --- a/demos/quickstart/protected/pages/Database/id/ActiveRecord.page +++ b/demos/quickstart/protected/pages/Database/id/ActiveRecord.page @@ -538,6 +538,7 @@ CREATE TABLE bar

Hubungan entitas antara tabel Teams dan Players adalah apa yang dikenal sebagai hubungan 1-M. Yaitu, satu Tim dapat berisi 0 atau lebih Pemain. Dalam batasan hubungan obyek, kita katakan bahwa obyek TeamRecord memiliki banyak obyek PlayerRecord. (Perhatikan kebalikan dari arah hubungan antara tabel dan obyek.)

+

Hubungan Has Many

Kita membuat model obyek Team sebagai kelas Rekaman Aktif berikut. @@ -554,7 +555,7 @@ class TeamRecord extends TActiveRecord //mendefinisikan anggota $player yang memiliki hubungan banyak dengan PlayerRecord public static $RELATIONS=array ( - 'players' => array(self::HAS_MANY, 'PlayerRecord'), + 'players' => array(self::HAS_MANY, 'PlayerRecord', 'team_name'), ); public static function finder($className=__CLASS__) @@ -634,19 +635,19 @@ Kode berikut mendefinisikan kelas PlayerRecord lengkap dengan 3 hubunga class PlayerRecord extends TActiveRecord { const TABLE='Players'; - public $player_id; // deklarasi ini tidak diperlukan lagi sejak v3.1.2 - public $age; // deklarasi ini tidak diperlukan lagi sejak v3.1.2 - public $team_name; // deklarasi ini tidak diperlukan lagi sejak v3.1.2 + public $player_id; + public $age; + public $team_name; - public $team; - public $skills=array(); - public $profile; + public $team; // deklarasi ini tidak diperlukan lagi sejak v3.1.2 + public $skills=array(); // deklarasi ini tidak diperlukan lagi sejak v3.1.2 + public $profile; // deklarasi ini tidak diperlukan lagi sejak v3.1.2 public static $RELATIONS=array ( - 'team' => array(self::BELONGS_TO, 'TeamRecord'), + 'team' => array(self::BELONGS_TO, 'TeamRecord', 'team_name'), 'skills' => array(self::MANY_TO_MANY, 'SkillRecord', 'Player_Skills'), - 'profile' => array(self::HAS_ONE, 'ProfileRecord'), + 'profile' => array(self::HAS_ONE, 'ProfileRecord', 'player_id'), ); public static function finder($className=__CLASS__) @@ -686,7 +687,7 @@ class ProfileRecord extends TActiveRecord public $player_id; public $salary; - public $player; // deklarasi ini tidak diperlukan lagi sejak v3.1.2 + public $player; // deklarasi ini tidak diperlukan lagi sejak v3.1.2 public static $RELATIONS=array ( @@ -730,12 +731,26 @@ class Category extends TActiveRecord public static $RELATIONS=array ( - 'parent_category' => array(self::BELONGS_TO, 'Category'), - 'child_categories' => array(self::HAS_MANY, 'Category'), + 'parent_category' => array(self::BELONGS_TO, 'Category', 'parent_cat_id'), + 'child_categories' => array(self::HAS_MANY, 'Category', 'parent_cat_id'), ); } +

Kriteria Query untuk Obyek Terkait

+

+Dalam contoh di atas, kami memperlihatkan bahwa obyek Rekaman Aktif dapat mereferensi ke obyek terkaitnya sendiri dengan +mendeklarasikan anggota kelas statis $RELATIONS yang menetapkan sebuah daftar relasi. Setiap relasi +ditetapkan sebagai array yang terdiri dari tiga elemen: tipe relasi, nama kelas AR terkait, +dan kunci asing. Sebagai contoh, kami menggunakan array(self::HAS_MANY, 'PlayerRecord', 'team_name') +untuk menetapkan pemain dalam sebuah tim. Ada dua elemen opsional berikutnya yang dapat ditetapkan +dalam array ini: kondisi query (elemen keempat) dan parameters (elemen kelima). +Elemen tersebut dipakai untuk mengontrol bagaimana untuk melakukan query terhadap obyek terkait. Sebagai contoh, jika kita ingin memperoleh +para pemain yang diurut dengan usianya, kita dapat menetapkan array(self::HAS_MANY, 'PlayerRecord', 'team_name', 'ORDER BY age'). +Jika kita ingin mendapatkan para pemain yang usianya kurang dari 30, kita dapat menggunakan +array(self::HAS_MANY, 'PlayerRecord', 'team_name', 'age<:age', array(':age'=>30)). Secara umum, +dua elemen tambahan ini mirip seperti parameter yang dikirimkan ke metode find() dalam AR. +

Pemetaan Tabel Asosiasi

-- cgit v1.2.3