Yii Framework Forum: Cformmodel dan CactiveRecord - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Cformmodel dan CactiveRecord membuat form dari keduanya bedanya apa Rate Topic: -----

#1 User is offline   aqge 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 188
  • Joined: 02-September 10
  • Location:Indonesia

Posted 28 October 2010 - 09:45 PM

agan, suhu, master, dan sejawat

di tutorial membuat form perlu dengan membuat CFormmodel terlebih dahulu...

tapi kalo pake CRUD tidak ada ditemui hal ini.

saya dah coba dua-duanya dan selama ini saya suka dengan membuat frm langsung dari AR modelnya,
keduanya sama-sama tidak perlu carving sql.

tapi mungkin para suhu punya pertimbangan yang lebih masuk akal mohon pencerahannnya...
Best Regard
Tidak ada coding yang salah
Yang ada hanyalah Coding yang lebih baik
0

#2 User is offline   aqge 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 188
  • Joined: 02-September 10
  • Location:Indonesia

Posted 10 November 2010 - 03:28 AM

saya update sendiri topic ini, i ni pengalaman saya semoga yang membaca bisa mendapat pertimbangan.

menggunakan Model AR akan sangat baik jika prose input data hanya melibatkan satu model saja dalam hal ini table
tetapi jika melibatkan sejumlah table dalam proses input data maka sangat baik jika anada membangaun model Cformmodel terlebih dahulu.

karena jika melibatkan banyak table, dan anda memaksakan untuk menggunakan AR sebagai modelnya maka, controller nya menjadi ramai dengan perintah save keberbagai model.

tetapi jika ada formmodel hal itu ditangani oleh form modelnya dan controllernya tetep ramping enak untuk di pelotottin alur -nya.

sedangan field yang memerlukan property tengah seperti tanggal, proses mengubah nilai dari combo ke string dilakukkan di formmodel atau di ARModel, jangan di controller...

trims..
Best Regard
Tidak ada coding yang salah
Yang ada hanyalah Coding yang lebih baik
0

#3 User is offline   junxiong 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 540
  • Joined: 21-June 10

Posted 12 November 2010 - 08:57 PM

View Postaqge, on 10 November 2010 - 03:28 AM, said:

saya update sendiri topic ini, i ni pengalaman saya semoga yang membaca bisa mendapat pertimbangan.

menggunakan Model AR akan sangat baik jika prose input data hanya melibatkan satu model saja dalam hal ini table
tetapi jika melibatkan sejumlah table dalam proses input data maka sangat baik jika anada membangaun model Cformmodel terlebih dahulu.

karena jika melibatkan banyak table, dan anda memaksakan untuk menggunakan AR sebagai modelnya maka, controller nya menjadi ramai dengan perintah save keberbagai model.

tetapi jika ada formmodel hal itu ditangani oleh form modelnya dan controllernya tetep ramping enak untuk di pelotottin alur -nya.

sedangan field yang memerlukan property tengah seperti tanggal, proses mengubah nilai dari combo ke string dilakukkan di formmodel atau di ARModel, jangan di controller...

trims..


Oh, bener juga yah...
Akhirnya saya mendapatkan pencerahan juga...

Selama ini saya sih pikirnya Cformmodel itu buat form yang tidak ada sangkut pautnya ama database. Contohnya kita mau buat form Contact Us, yang kalo user submit langsung kirim email, sehingga gak perlu database...

Tapi kalo misalnya buat form untuk dari beberapa tabel, sepertinya memang cocok pakai Cformmodel juga yah~
Thanks atas infonya, agan aqge
“The most likely way for the world to be destroyed, most experts argue, is by accident. That’s where we come in; we’re computer professionals. We cause accidents.” - Nathaniel Borenstein

Yii Playground : Collaborative demo apps. You can join to improve it too!
My Team's Blog: In Indonesian.
0

#4 User is offline   YII alvs 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 53
  • Joined: 11-February 10

Posted 18 November 2010 - 12:01 AM

View Postaqge, on 10 November 2010 - 03:28 AM, said:

saya update sendiri topic ini, i ni pengalaman saya semoga yang membaca bisa mendapat pertimbangan.

menggunakan Model AR akan sangat baik jika prose input data hanya melibatkan satu model saja dalam hal ini table
tetapi jika melibatkan sejumlah table dalam proses input data maka sangat baik jika anada membangaun model Cformmodel terlebih dahulu.

karena jika melibatkan banyak table, dan anda memaksakan untuk menggunakan AR sebagai modelnya maka, controller nya menjadi ramai dengan perintah save keberbagai model.

tetapi jika ada formmodel hal itu ditangani oleh form modelnya dan controllernya tetep ramping enak untuk di pelotottin alur -nya.

sedangan field yang memerlukan property tengah seperti tanggal, proses mengubah nilai dari combo ke string dilakukkan di formmodel atau di ARModel, jangan di controller...

trims..

contoh kasus gan............biar clear....kayaknya keren jg tp Qianq bilang diversi 1.1.6 akan ada Query genarete...jadi kalau mau query lebih leluasa
0

#5 User is offline   fastcrash 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 245
  • Joined: 10-March 10
  • Location:South Jakarta

Posted 18 November 2010 - 03:40 AM

Quote

karena jika melibatkan banyak table, dan anda memaksakan untuk menggunakan AR sebagai modelnya maka, controller nya menjadi ramai dengan perintah save keberbagai model.


contohnya kya gini klo menggunakan CActiveForm di controller-nya :

// t_agentContoller.php
public function actionCreate(){
	

if(isset($_POST['t_agent']))
{
   $model->attributes=$_POST['t_agent'];  // paket kiriman POST tiba disini

   if(!empty($model->ID_Location)){
   for($i=1; $i>=count($model->ID_Location); $i++;)
	$location = new t_location;   //asumsi tabel one to many(1 orang bs punya bnyk email)
	$location ->ID_Location = $model->Location;
	$location ->ID_User = Yii::app()->user->id;
        $location ->save();   //  save ke model t_location
    }
    }

    if($model->save())       //   save ke model t_agent
      $this->redirect(array('t_agent/admin/'. $redirect));


}



klo menggunakan CFormModel sy blum pernah.. he heee..
mungkin bawah ane bisa. Posted Image
0

#6 User is offline   aqge 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 188
  • Joined: 02-September 10
  • Location:Indonesia

Posted 22 November 2010 - 10:52 PM

kaya nya gini deh mas crash

di action

public function actionSimpanData(){

   $modelform = new ModelFormpendaftaran;
    if(isset($_POST['ModelFormpendaftaran'])){
        
        $modelform->attributes = $_POST['ModelFormpendaftaran'];
        $modelform->save();
   }

}



di ModelFormpendaftaran

public function save(){
     $modelAR1 = new ModelAR1;
     $modelAR1->attributes = $this->attributes;
     $modelAR1->save();
   
     //nah kalo ada yang perlu di obrak-oabrik silahkan disini juga
    
    $modelAR2 = new ModelAR2;
    $modelAR2->attributes = $this->attributes;
    if($modelAR1->syarat > kondisi) $modelAR2->akibat = "Hacurkan";
    //dan porak-poranda lainnya,
    $modelAR2->save();

}




semoga membantu
Best Regard
Tidak ada coding yang salah
Yang ada hanyalah Coding yang lebih baik
0

#7 User is offline   fastcrash 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 245
  • Joined: 10-March 10
  • Location:South Jakarta

Posted 23 November 2010 - 11:35 PM

View Postaqge, on 22 November 2010 - 10:52 PM, said:

di ModelFormpendaftaran
public function save(){  //  cuma ini yang berbeda
     $modelAR1 = new ModelAR1;
     $modelAR1->attributes = $this->attributes;
     $modelAR1->save();
   
     //nah kalo ada yang perlu di obrak-oabrik silahkan disini juga
    
    $modelAR2 = new ModelAR2;
    $modelAR2->attributes = $this->attributes;
    if($modelAR1->syarat > kondisi) $modelAR2->akibat = "Hacurkan";
    //dan porak-poranda lainnya,
    $modelAR2->save();

}



oh, brarti yg berbeda tinggal tambahkan public function save(), kemudian tinggal instance semua model.
$this->attributes mengacu ke semua POST yg dikirim melalui form? baik itu buat $modelAR1, $modelAR2, etc..

di public function rules() ModelFormpendaftaran, apakah perlu ditambahkan atribut dari model2x yg lain?


thanks for sharing. Posted Image
0

#8 User is offline   aqge 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 188
  • Joined: 02-September 10
  • Location:Indonesia

Posted 24 November 2010 - 06:26 AM

View Postfastcrash, on 23 November 2010 - 11:35 PM, said:

oh, brarti yg berbeda tinggal tambahkan public function save(), kemudian tinggal instance semua model.
$this->attributes mengacu ke semua POST yg dikirim melalui form? baik itu buat $modelAR1, $modelAR2, etc..

di public function rules() ModelFormpendaftaran, apakah perlu ditambahkan atribut dari model2x yg lain?


thanks for sharing. Posted Image



tepat gan... wah oom fastcrash emang cerdas...
kalo yang tambahan rule saya rasa perlu, paling tidak untuk rule safe tho.... (kalo tentang rule ane gaptek gan hehehe )..
Best Regard
Tidak ada coding yang salah
Yang ada hanyalah Coding yang lebih baik
1

#9 User is offline   -=YiieRz=- 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 177
  • Joined: 27-October 10
  • Location:Jakarta

Posted 20 January 2011 - 03:20 AM

bener juga ya. smart code .... ^^
belajar itu modal utama, tanpa percobaan itu tak akan berhasil. berdoa itu membuat kita percaya diri. YiieRz-SdgBlajar
www.yiiframework.com
0

#10 User is offline   ressaince 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 163
  • Joined: 10-January 11
  • Location:Jakarta

Posted 20 January 2011 - 03:53 AM

iya juga sih..
hmm.. nice gan..
gw pake nya AR dgn 2 model.ribet di salah satu controller sedangkan yang 1 lagi engga kepake..aneh juga ..
setelah melihat ini baru ngerti.
abis di tutorial mah ga terlalu jelas sih,ehhhee
take it or leave it
0

#11 User is offline   sbasuki 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 40
  • Joined: 14-January 10

Posted 23 January 2011 - 10:55 PM

yups ak juga pake CFormModel untuk nangani inputan lebih dari 1 model,
jadi lebih rapi dan simple
0

#12 User is offline   ahmadroni 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 250
  • Joined: 14-June 09
  • Location:Yogyakarta-Indonesia

Posted 06 July 2011 - 12:06 AM

Wah mantaps...!
Hospital Cost Management System and
Hospital Management Information System
0

#13 User is offline   mhdrasad 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 197
  • Joined: 20-April 11
  • Location:Bumi Indonesia

Posted 06 July 2011 - 01:45 AM

Dipikir2 iya juga sih, ane juga pernah bikin kyk gitu.
ane bikin kyk gini.

Dimodel gini
<?php 
public funcion Inputdataasal();
{
    $nik = $this->nik;
    $karyawan = karyawan::model()->findByAttributes(array('nik'=>$nik));
    $objidLama = $karyawan->objidposisi;
    $posisiLama = posisi::model()->findByAttributes(array('objidposisi'=>$objidLama));
    //kebawah ini masukin data $this->attribut = $var->attribut
    $this->nama_lengkap = $karyawan->nama;
    ...
    ...
    ...
}
?>


Di Controller sebelum model->save() ane cukup manggil kyk gini
 <?php $model->Inputdataasal(); ?>


tapi karena ud kebiasaan ane ngubek di controller,jadi sampe sekarang masih aja ngubek di controller :P
Wait For True Concept or Finish it With Coding Concept .
#chadnox
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users