Yang Pertama dan Utama
Yayasan Pendididkan Widya Bakti berdiri dengan Akta Notaris Nomor 43 tanggal 30 Juni 1979, sebagai penyelenggara pendidikan tinggi dibidang komputer yang pertama di Jateng dan DIY dengan nama Akademi Aplikasi Komputer (AKAKOM). Tahun 1985 AKAKOM menjadi AMIK AKAKOM dan akhirnya sejak tahun 1992 menjadi STMIK AKAKOM.
badi, Rab, 2-Okt-2013 08:14:40

Object-Relational Mapping (ORM) Dengan Framework Yii

(Oleh:Badiyanto)

Tabel terdapat dalam model didefinisikan dalam bentuk kelas CActiveRecord.  Relasi tabel diimplementasikan menggunakan Object-Relational Mapping (ORM).Syarat menggunakan ORM relasi tabel didefinisikan lewat perintah CONTRAINT dan REFRENCES. Syarat referensi tabel dibuat menggunakan Engine InnoDB. Setiap kunci relasi menggunakan PRIMARY KEY dan FOREIGN KEY. degan perintah

 CONSTRAINT nama_refresni_tabel_child FOREIGN KEY (kunci_tamu)  
            REFERENCES tabel_parent(kunci_primer) 
ON UPDATE CASCADE,

Contoh:

CREATE TABLE `tbl_penerbit` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nama_penerbit` varchar(50) DEFAULT NULL,
  `alamat` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;

 

CREATE TABLE `tbl_pengarang` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nama_pengarang` varchar(10) DEFAULT NULL,
  `alamat` varchar(40) DEFAULT NULL,
  `jenin_kelamin` char(1) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;

CREATE TABLE `tbl_buku` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'kode buku',
  `judul_buku` varchar(100) DEFAULT NULL COMMENT 'judul',
  `pengarang_id` int(11) DEFAULT NULL,
  `penerbit_id` int(11) DEFAULT NULL,
  `isbn_issn` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `FK_tbl_buku` (`pengarang_id`),
  KEY `FK_tbl_buku1` (`penerbit_id`),
  CONSTRAINT `FK_tbl_buku` FOREIGN KEY (`pengarang_id`) REFERENCES `tbl_pengarang` (`id`) ON UPDATE CASCADE,
  CONSTRAINT `FK_tbl_buku1` FOREIGN KEY (`penerbit_id`) REFERENCES `tbl_penerbit` (`id`) ON UPDATE CASCADE
) ENGINE=InnoDB;

Penjelasan 

CONSTRAINT `FK_tbl_buku` FOREIGN KEY (`pengarang_id`) REFERENCES `tbl_pengarang` (`id`) ON UPDATE CASCADE,

adalah merelasikan serta menjadikan refrensi tabel tbl_buku menggunakan kunci tamu (FOREIGN KEY) field pengarang_id  ke tabel tbl_pengarang dengan kunci utama (PRIMARY KEY) field id, perintah ON UPDATE CASCADE  jika di parent dilakukan operasi UPDATE suatu rekaman maka rekaman yang ada di child juga akan melakukan hal yang sama.

 










 


Hasil Relasi dalam model  TblBuku.php 

class TblBuku extends CActiveRecord
{
      /**
       * Returns the static model of the specified AR class.
       * @param string $className active record class name.
       * @return TblBuku the static model class
       */
      public static function model($className=__CLASS__)
      {
            return parent::model($className);
      }
 
      /**
       * @return string the associated database table name
       */
      public function tableName()
      {
            return 'tbl_buku';
      }
………………….
public function relations()
     {
     // NOTE: you may need to adjust the relation name and the related
     // class name for the relations automatically generated below.
 return array(
      'pengarang' => array(self::BELONGS_TO,'TblPengarang', 'pengarang_id'),
      'penerbit' => array(self::BELONGS_TO,'TblPenerbit', 'penerbit_id'),
            );
 
      }

...................... 

Dalam Model TblPengarang.php

class TblPengarang extends CActiveRecord
{
.............................
/**
* @return array relational rules.
*/
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
     'tblBukus' => array(self::HAS_MANY, 'TblBuku', 'pengarang_id'),
     );


}
...................................
 
}

Langkah berikutnya membuat Model, Wiews, Controller



Komentar Untuk memberikan komentar, Silahkan Login atau Daftar sebagai pengguna
artikel, Sel, 22-Agt-2017 08:53:24
Sosialisasi Prodi TI Semester Ganjil 2017/2018
admin, Sen, 8-Mei-2017 04:30:22
Info Penggantian Jadwal Kuliah
admin, Rab, 5-Apr-2017 05:47:27
PENGUMUMAN BEASISWA PPA
admin, Sel, 28-Feb-2017 08:22:12
PENGUMUMAN PKL PRODI TEKNIK INFORMATIKA & SISTEM INFORMASI SEMESTER GENAP T.A. 2016/2017
admin, Jum, 18-Nov-2016 12:26:13
Penambahan Kuota Sertifikasi Internasional
admin, Kam, 17-Nov-2016 08:05:01
Pembagian Kelas Sertifikasi
admin, Jum, 4-Nov-2016 07:49:28
Kuliah Umum NIIT Bagi Mahasiswa Baru 2016
>> Lainnya . . .
admin, Sel, 4-Agt-2015 08:27:35
Kalender Akademik
admin, Jum, 13-Sep-2013 08:05:25
Blog STMIK AKAKOM Yogyakarta
>> Lainnya . . .

Visi & Misi Kumpulan Pedoman & Peraturan Sikeu Portal
.:: Pencarian
.:: Login