Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
@rojulman | dev.xbata.com
Teknik Informatika
STT Terpadu Nurul Fikri | ti.nurulfikri.ac.id
11
ActiveRecord
22
Active Record ?
1. Model: database records
2. Grouping of data and
behaviours
3. Active Record : Pola
Desain
( Martin Fowler ):
Active Record ?
Object yang diwakili oleh satu buah baris data
Model
Instance
id
customer_full_name
customer_gender
create_time
setPaid()
Active Record ?
Object yang yang berinteraksi dengan multiple baris
data (rows)
Delete
Model
Find
Model
Instances
www.nurulfikri.ac.id | Web Lanjutan #1 - 5
Desain ActiveRecord
Base Active Record Class
Extended Ticket Class
ActiveRecord-Yii: CActiveRecord
classPegawaiextendsCActiveRecord{
publicfunctiontableName(){
return'pegawai';
}
}
Yii: Model
Creating:
$objpeg=newPegawai;
$objpeg>id=120;
$objpeg>nip='512313';
$objpeg>nama='AlissaKhairunnisa';
$objpeg>save();
Yii: Model
Reading:
$objpeg_cari=Pegawai::model()>findByPk(120);
$list_pegs=Pegawai::model()>findAll(
'namaLIKE:nama_cari',
array(':nama_cari'=>'%ali%')
);
$list_pegs=Pegawai::model()>findAll();
//semuapegawai
10
Yii: Model
Updating:
$objpeg>email='alissa@nurulfikri.ac.id';
if($objpeg>validate()){
$objpeg>save();
}
Deleting:
$objpeg>findByPk(120)>delete();
11
publicfunctionrules(){
returnarray(
array('nip','required'),
array('telpon,hp','length','max'=>20),
array('email','email'),
array('create_time','safe'),
);
}
12
Jalankansebelumhapusdata:
publicfunctionbeforeDelete(){
$this>deleted=1;
$this>save();
returnfalse;
}
}
13
Relations
14
Relations
classPegawai{
publicfunctionrelations(){
returnarray(
'divisi'=>array(self::BELONGS_TO,'Divisi','divisi_id'),
'jabatan'=>array(self::BELONGS_TO,'Jabatan','jabatan_id')
}
15