[Cakephp] Basic CRUD

Description :
        Memahami basic dari Create , Read , Update , and Delete.

Skill : *  Basic SQL - DML (Data Manipulation).

              * Basic Form Cakephp


How To :
        Untuk membuat agar web yang dibuat menggunakan framework cakephp bisa input data , edit data , atau  delete data sebetulnya tidak harus memahami penulisan syntax SQL karena memang sudah disediakan. tetapi pemahaman untuk SQL wajib didalami jika suatu saat ada kondisi yang tidak memungkinkan untuk menggunakan library dari framework cakephp ini.

BASIC INPUT 

syntax dasar yang digunakan untuk simpan data adalah

syntax:
$this->MODEL_NAME->save(optional_array_data);

*array data biasanya didapat dari Form , jadi jika anda belum mempelajari tentang form cakephp , harap dipelajari dahulu.

example:
class contohController extends AppController
{
   ...........another code ...........
   ...........another code ...........

   public function tambahdata()

   {
           $this->MODEL_NAME->save($this->data);
   }
}



BASIC EDIT


untuk edit , pada dasarnya syntaxnya hampir sama dengan input, jadi apa sih yang membedakan antara edit dengan input record baru ? 

yang membedakan adalah ketika kita menginput tanpa / memberikan primary key (PK) dan nilai PK tersebut tidak terdapat dalam database maka cakephp akan menyatakan bahwa record tersebut baru dan akan ditambahkan ke dalam database.
sedangan jika Primary Key (PK) yang bersangkutan sudah terdapat dalam database, maka cakephp tidak membentuk record baru, namun akan mengupdate nilai dari field" tersebut.


example:
1.step-1 , make sure on model declare var $primaryKey
class mymodel extends AppModel
{
    var $useDBConfig = 'default'; // bisa di edit sesuai dengan konfigurasi database
    var $name = 'mymodel '; // harus sama dengan nama class dan nama file
    var $primaryKey = 'my_PK'; // primary key table
    var $useTable = 'mymodel '; // nama tabel yang digunakan
 
}

2. step-2, on controller assign primary data
class contohController extends AppController
{
   ...........another code ...........
   ...........another code ...........

   public function edit()

   {
           $this->mymodel ->id = $this->data['model']['field_PK'];
           $this->mymodel ->save($this->data);
           // look at green mark (id refers to $primaryKey on model for passing value) 
           // $this->data['model']['field_PK']; , passing from FORM VIEW , you must now basic FORM !
           // if you save the data with assign data PK , it will updating field ,  not create new record
   }
}





BASIC DELETE


$this->MODEL_NAME->delete();



example:
class contohController extends AppController
{
   ...........another code ...........
   ...........another code ...........

   public function delete()

   {
           $this->MODEL_NAME->delete(ID_PK);
   }
}



BASIC READ

syntax:
$data=$this->MODEL_NAME->find('all' / 'list' ,array(OPTION));

legend : $data merupakan variable sementara untuk menampung hasil query
            mode 'ALL', berfungsi untuk menampilkan seluruh field
            mode 'LIST', berfungsi untuk menampilkan 2 field yang saling terkait (next chapter)
            find() , fungsi ini yang digunakan untuk membaca record.
            Option , opsi dalam melakukan query

Option : - 'Field' , 'Limit' , 'Join' , 'order' , 'conditions'
       

example:
class contohController extends AppController
{
   ...........another code ...........
   ...........another code ...........

   public function readdata()

   {
           $data = $this->MODEL_NAME->find('all', array( 'field' => array
                                                                         ('model.field1,model.field2, ETC'),
                                                                          'limit' => 10,
                                                                          'conditions' => array('model.field1' => 'XX'),
                                                                          'order'=>array('model.field1 => 'ASC') );
   }
}

EDIT (19/04/2014) : - Fix some code and add some information on BASIC EDIT 









Post a Comment

Harap gunakan bahasa yang baik dan sopan, terima kasih