Sei sulla pagina 1di 15

PHP Framework

Sirojul Munir S.Si,M.Kom


rojulman@nurulfikri.ac.id |

@rojulman | dev.xbata.com

Teknik Informatika
STT Terpadu Nurul Fikri | ti.nurulfikri.ac.id

www.nurulfikri.ac.id | Web Lanjutan #1

11

ActiveRecord

www.nurulfikri.ac.id | Web Lanjutan #1

22

Active Record ?
1. Model: database records
2. Grouping of data and
behaviours
3. Active Record : Pola
Desain
( Martin Fowler ):

www.nurulfikri.ac.id | Web Lanjutan #1 - 3

Active Record ?
Object yang diwakili oleh satu buah baris data

Model
Instance

id
customer_full_name
customer_gender
create_time
setPaid()

www.nurulfikri.ac.id | Web Lanjutan #1 - 4

Active Record ?
Object yang yang berinteraksi dengan multiple baris
data (rows)
Delete
Model

Find

Model
Instances
www.nurulfikri.ac.id | Web Lanjutan #1 - 5

ActiveRecord MultiConnection Database

www.nurulfikri.ac.id | Web Lanjutan #1 - 6

Desain ActiveRecord
Base Active Record Class
Extended Ticket Class

www.nurulfikri.ac.id | Web Lanjutan #1 - 7

ActiveRecord-Yii: CActiveRecord
classPegawaiextendsCActiveRecord{
publicfunctiontableName(){
return'pegawai';
}
}

www.nurulfikri.ac.id | Web Lanjutan #1 - 8

Yii: Model

Creating:

$objpeg=newPegawai;
$objpeg>id=120;

$objpeg>nip='512313';
$objpeg>nama='AlissaKhairunnisa';
$objpeg>save();

www.nurulfikri.ac.id | Web Lanjutan #1 - 9

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

www.nurulfikri.ac.id | Web Lanjutan #1 - 10

10

Yii: Model

Updating:

$objpeg>email='alissa@nurulfikri.ac.id';
if($objpeg>validate()){
$objpeg>save();
}

Deleting:

$objpeg>findByPk(120)>delete();

www.nurulfikri.ac.id | Web Lanjutan #1 - 11

11

Model Validasi Data

Fungsi didalam class Pegawai

publicfunctionrules(){
returnarray(
array('nip','required'),
array('telpon,hp','length','max'=>20),
array('email','email'),
array('create_time','safe'),
);
}

www.nurulfikri.ac.id | Web Lanjutan #1 - 12

12

Event and Hooks

CactiveRecord throws event, and runs hook functions for


records operations: finds, save, delete,update

Jalankansebelumhapusdata:

publicfunctionbeforeDelete(){
$this>deleted=1;
$this>save();
returnfalse;
}
}

www.nurulfikri.ac.id | Web Lanjutan #1 - 13

13

Relations

Mendefinisikan relasi antar Model:


Digunakan untuk akses cepat ke parent class, sub class
Relasi One To Many:
classDivisi{
publicfunctionrelations(){
returnarray(
'pegawai'=>array(self::HAS_MANY,
'Pegawai','divisi_id'),
);
}

www.nurulfikri.ac.id | Web Lanjutan #1 - 14

14

Relations

Mendefinisikan relasi antar Model:


Digunakan untuk akses cepat ke parent class, sub class
Relasi Belong To (Many To One):

classPegawai{
publicfunctionrelations(){
returnarray(
'divisi'=>array(self::BELONGS_TO,'Divisi','divisi_id'),
'jabatan'=>array(self::BELONGS_TO,'Jabatan','jabatan_id')
}

www.nurulfikri.ac.id | Web Lanjutan #1 - 15

15

Potrebbero piacerti anche