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