Home » » Associations PhpActiveRecord Pada Codeigniter

Associations PhpActiveRecord Pada Codeigniter

Written By Unknown on Selasa, 11 Juni 2013 | 00.07

PhpActiveRecord merupakan sebuah library dengan lisensi open source yang digunakan untuk menyederhanakan perintah-perintah SQL dalam bahasa pemrograman PHP dan juga memudahkan bagi programmer codeigniter dalam membuat CRUD. Untuk lebih mudah memahami PhpActiveRecord setidaknya Anda familiar dengan Object oriented programming (OOP) Object relational mapping (ORM). Artikel ini akan membahas tentang associations dengan kasus tabel seperti gambar di bawah ini:

RELASI MANY TO MANY
Untuk menginstall PhpActiveRecord pada codeigniter silahkan berkunjung ke alamat situs ini. Kemudian buat 3 (tiga)  model dengan nama post, category, post_has_category kemudian isikan dengan code dibawah ini :
Post.php
php

use ActiveRecord\Model;

class Post extends ActiveRecord\Model{
 static $table_name = 'post';

 static $has_many = array(
  array('post_has_category','class_name'=>'Posthascategory'),
  array('category','class_name'=>'Category','through'=>'post_has_category')
 );
}
Category.php
php

use ActiveRecord\Model;

class Category extends ActiveRecord\Model{
 static $table_name = 'Category';

 static $has_many = array(
  array('post_has_category','class_name'=>'Posthascategory'),
  array('post','class_name'=>'Post','through'=>'post_has_category')
 );
}
Posthascategory.php
php

use ActiveRecord\Model;

class Posthascategory extends ActiveRecord\Model{
 static $table_name = 'post_has_category';

 static $belongs_to = array(
   array('post','class_name'=>'Post'),
   array('category','class_name'=>'Category')
 );
}
Untuk di ketahui ketika Anda mulai membangun suatu aplikasi mengunakan PhpActiveRecord Anda tidak akan terlalu banyak menuliskan code pada bagian model karena PhpActiveRecord yang akan mengerjakannya seperti update, delete, mendapatkan id/key yang akan diubah maupun diupdate dll. Untuk lebih mengetahui bagaimana cara menggunakannya, Anda dapat membaca dokumentasi PhpActiveRecord. Kemudian untuk mencoba ketiga model tersebut silahkan membuat satu controller untuk mencobanya, seperti sampel code di bawah ini.
php

class test extends Controller {
 public function __construct(){
  parent::__construct();
 }

 public function index(){

 }

 public function add(){
  $post = new Post();
  $post->title = 'belajar phpactiverecord';
  $post->date = now();
  $post->save();
 }

 public function getAll(){
  $post = new Post();
  print_r($post->all());
 }

 public function addalltable){
  $post = new Post();

  $post ->title = 'belajar php';  
  $post->date = now();  
  $post->save();

  $cat = new Category();
  $cat->name = 'Malam minggu kelabu';
  $cat->date = now();
  $cat->save();

  $has = new Posthascategory();
  $has->post_id = $post->id;
  $has->category_id = $cat->id;
  $has->save();
 }

}
Share this article :
 
Support : support@masterfreelance.com | +62 - 857 - 1061 - 2210 | 327E8DA0
Copyright © 2013. MasterFreelance Blog - All Rights Reserved
Jl. Satria 5 No 27 - 28
Bojong Nangka , Kelapa Dua - Tangerang
15821, Banten - Indonesia