Anda di halaman 1dari 7

2 model 1 form… pada yii framework… | Sabitlabscode

23/04/2013

Sabitlabscode GO Sampaikanlah walau hanya satu baris script HHOOMMEE AABBOOUUTTMMEE FFEEEEDDBBAACCKK POSTS COMMENTS
Sabitlabscode
GO
Sampaikanlah walau hanya satu baris script
HHOOMMEE
AABBOOUUTTMMEE
FFEEEEDDBBAACCKK
POSTS
COMMENTS
PPEEMMRROOGGRRAAMMAANN
UUNNCCAATTEEGGOORRIIZZEEDD
BBUUKKAANNCCOODDIINNGG
Farifam.com
←Pemecahan masalah PKtipe string pada yii
Pengaturan halaman home pada user sebelum dan
sesudah login pada yii framework →
Kunjungi Juga Farifam.com untuk tutorial dan
2 model 1 form… pada yii framework…
forum Yii Framework yang lebih lengkap dan
direspon lebih cepat dari di blog ini
JUNE13, 2011 BY SABITHURAIRA
30 COMMENTS
Pada beberapa kasus, terkadang ada masalah dimana kita harus menginput nilai dari 2 buah model/table dalam
satu form. Tentu saja hal ini dapat kita lakukan dengan mudah di Yii framework. Berikut cara nya :
Do You Need An Application??
Pada postingan saya kali ini, saya akan asumsikan kita memiliki 2 buah table di dalam satu database, misal table
“satu” dan table “dua”. Saya asumsikan nilai Primarykeypada table “dua” adalah sama dengan nilai Primarykey
pada tabel “satu”. Dan nama attribute PrimaryKeynya adalah “id”.
Anda butuh orang untuk membuat aplikasi yg
anda inginkan? Atau butuh traineer untuk
training / kursus Yii Framework Area
Palembang? Mungkin saya bisa bantu Just
Contact me:
Pertama-tama, kita harus membuat model pada masing-masing tabel yang ingin dimasukkan(tentu hal ini bisa
sabitzhabit@yahoo.com
kita lakukan dengan menggunakan gii untuk mempermudah
). Setelah itu akan ada dua buah model, yaitu
model “Satu” dan model “Dua”. Lalu dengan menggunakan gii, anda buat sebuah code operasi CRUD dengan
menggunakan CRUD generator yg ada dalam fitur gii(ingat cukup salah satu CRUD saja, misal CRUD utk model
“Satu” atau CRUD untuk model “Dua”). Dalam postingan ini saya akan membuat CRUD untuk model “Satu”.
Setelah itu akan terbentuk sebuah controller dari model “Satu” pada protected/controller, silahkan anda buka
controller tersebut. Coba lihat function “actionCreate()”, anda akan melihat code seperti berikut:
sabitzhabit@gmail.com
Facebook
$model=new Satu;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Satu']))
{
$model->attributes=$_POST['Satu'];
if($model->save())
$this->redirect(array('view','id'=>$model->id));
}
$this->render('create',array(
Twit
'model'=>$model,
));
@desyMnisa @triasenye @peripunyapipi
@alnov0511 pengedar kuesioner aku mah
Nah, silahkan rubah code tersebut menjadi seperti berikut:
1
week ago
Grafik Emas Dari tahun 1994 sampai sekarang
$model=new Satu;
wp.me/p1yA7b-dr 1 month ago
$model2=new Dua;
Bisnis Model Amazon.com mulai dari pertama
kali Amazon.com berdiri sampai saat ini
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
wp.me/p1yA7b-dq 1 month ago
Red ocean VSblue Ocean wp.me/p1yA7b-dn
if(isset($_POST['Satu'],$_POST['Dua']))
1
month ago
{
$model->attributes=$_POST['Satu'];
$model2->attributes=$_POST['Dua'];
Komentar
$valid=$model->validate();
$valid=$model2->validate() && $valid;
Sabit Huraira on [Yii Framework] Filter
Pada CG…
if($valid)
{
Sabit Huraira on [Yii Framework]
Membuat S…
if($model->save(false))
{
kenshi on [Yii Framework] Filter Pada
CG…
$model2->duasatu = $model->satusatu;
$model2->save(false);
nila on [Yii Framework] Membuat S

2 model 1 form… pada yii framework… | Sabitlabscode

23/04/2013

… $this->redirect(array('view','id'=>$model->satusatu)); } } Sabit Huraira on [Yii
$this->redirect(array('view','id'=>$model->satusatu));
}
}
Sabit Huraira on [Yii Framework]
Membuat Operas…
}
$this->render('create',array(
'model'=>$model,
Sabit Huraira on [Yii Framework]
Membuat Entry…
'model2'=>$model2,
Sabit Huraira on Membuat operasi
login, logout …
));
joen on Membuat operasi login, logout
Penjelasan:
($model2=new Dua; ) ini maksud nykita mendeklarasikan sebuah model baru yang kita ambil dari model “Dua”.
FREE EBOOK
$valid=$model->validate();
$valid=$model2->validate() && $valid;
if($valid)
{
if($model->save(false))
{
$model2->id = $model->id;
$model2->save(false);
$this->redirect(array('view','id'=>$model->id));
}
}
Nah, $valid adalah sebuah variabel yang digunakan untuk mengecek apakah nilai yang di input oleh user di dalam
form sudah memenuhi syarat dari validasi yang sudah kita tentukan. Sedangkan pernyataan yang ada di dalama
“if($model->save(false))” berguna untuk melakukan penyamaan nilai PrimaryKeypada table “dua” sesuai dengan
PrimaryKeypada table “satu”. Maksud dari “$model2->save(false)” adalah nilai dari model tersebut akan disimpan
dalam database tanpa melakukan validasi terlebih dahulu, kenapa? karena hal tersebut sudah dilakukan pada
“$valid”. Dan setelah disimpan ke dalam database, aplikasi akan langsung di arahkan ke tampilan view dari data
yang sudah di masukkan tadi hal itu terlihat dari code “$this->redirect(array(‘view’,'id’=>$model->id));”.
Nah, sampai disini kita telah selesai membuat operasi untuk menyimpan data dari dua model yang berbeda,
sekarang tinggal kita buat tampilan dari fungsi tersebut…
Blogroll
Blog curhat
Top Posts & Pages
Free Ebook Yii Framework Indonesia
Membuat operasi login, logout dan register
Membuat tampilan sendiri tidak bisa sembarangan, kita harus pastikan nilai yang ada pada tampilan harus
terhubung ke model yang ada di controller tadi. Okeh, pertama-tama buka views dari operasi create yang ada pada
“protected/satu/create.php”, lalu temukan code seperti beriktu: “renderPartial(‘_form’, array(‘model’=>$model)); ?>”.
Setelah anda temukan, tambahkan sedikit code yang memanggil model “Dua”, sehingga akan menjadi seperti
berikut:
pada yii
[Yii Framework] Membuat Operasi CRUD
dengan AjaxRequest dan Tampilan Dialog
[Yii Framework] Membuat CGridView Sort dan
Filter dari Model yang Berelasi
“<!–?php echo $this->renderPartial(‘_form’, array(‘model’=>$model,’model2′=>$model2)); ?>”
Nah, model2 yang di tambahkan disana adalah nilai dari model2 yang sudah kita deklarasikan pada controller,
sehingga kita bisa menghubungkan form dengan model “Dua”. Setelah itu, silahkan buka
“protected/satu/_form.php”, di dalam nya mungkin akan tersedia beberapa tag html yang berguna sebagai inputan
yang menampung nilai-nilai yang di masukkan user. Hanya saja disana hanya terdapat nilai inputan untuk model
“Satu” saja. Nah, anda dapat menambahkan tag html untuk menampung nilai pada model “Dua” dengan cara
menambahkan tag seperti berikut:
[Yii framework] Cara Upload File
Tag
AJAXApaceh Solr Apache SolrASP.NETBukan
CodingC# Dojo dropdownlist ebook Graf LINQ
<div class="row">
<!--?php echo $form->labelEx($model2,'duadua'); ?>
textField($model2,'duadua',array('size'=>30,'maxlength'=>30)); ?>
error($model2,'duadua'); ?>
</div>
Lucene mongoDBMVCPDFPHP RBAC
REST Search Engine Struktur Data Web
ServiceWP7 XML yii ZedGraph
Nah, disana anda bisa melihat pada masing-masing tag diberi $model2 yang artinya tag html tersebut dimiliki oleh
model “Dua”. Sedangkan “duadua” adalah nama dari attribut pada table “Dua”.
Selesai, anda dapat mencoba melakukan operasi “Create” pada form itu….
Selamat mencoba…. semoga membantu…
About these ads

2 model 1 form… pada yii framework… | Sabitlabscode

23/04/2013

Share this: Like this: Loading FILEDUNDERUNCATEGORIZED 30 Responses to 2 model 1 form… pada yii
Share this:
Like this:
Loading
FILEDUNDERUNCATEGORIZED
30 Responses to 2 model 1 form… pada yii framework…
Pingback: [view] 2 model 1 form…pada yii framework…« Sabitlabscode
SkyLine says:
June 22, 2011 at 5:42 pm
gan saya mau tanya itu model 2 nya kalau kita ingin menambahkan lg isa gak?
jadi model 2 nya bisa lebih dari 1, di form tsb.itu bagaimana ya?
seperti multimodel form di extension yii,cm saya masih kurang puas krn tidak bisa custumize T.T
tq gan
Reply
sabitzhabit says:
June 22, 2011 at 6:12 pm
bisa gan, agan tambahin aja model yang mau agan pake. Dan jangan lupa di view nyjuga di edit gan…
Reply
tulisceritamusays:
July 30, 2011 at 2:03 pm
gan tahu CTreeView? nah gan ane pengen buat kayak gitu tapi yang ada button di samping textnya misalnya
+ ROOT[Add child] [Delete Root]
nah kayak gini bagaimana ya gan? kemarin gagal buat CTreeView nya. hehee
(rin)
. makasih gan, sebelumnya !
Reply
sabitzhabit says:
July 30, 2011 at 2:10 pm
oh, udah pernah buat sistem pakar kek gtu gan itu terhubung ke database gan nanti ane buat postingan
khusus gan czskrg lagi ngerjain skripsi mepet mau seminar, hehe
btw, ni yg id “rin” di forum nyyii ya? hoho salam kenal gan
Reply
Novi Indra says:
August 6, 2012 at 1:38 pm
gmn mas, postingan tentang ini.?? ane tgg
Reply
Sabit Huraira says:
August 7, 2012 at 10:36 am

2 model 1 form… pada yii framework… | Sabitlabscode

23/04/2013

wah, sorybanget nih saya udah lama banget lupa sekarang saya lagi sibuk juga mbak, saya
wah, sorybanget nih saya udah lama banget lupa
sekarang saya lagi sibuk juga mbak, saya kasih clue nya aja ya.
mbak jadiin aja nilai2 pada tree nya itu jadi sebuah link yang ngirim parameter id dia sendiri, kemudian
parameter itu lah yang di pasang untuk jadi field induk nya
kalo mau lebih cantik, saat di klik, dia muncul dialog aja jadi nanti pake AJAXmbak
tulisceritamusays:
August 2, 2011 at 3:26 pm
heeee
. salam kenal juga fan!
Reply
angel says:
October 12, 2011 at 12:34 pm
“Saya asumsikan nilai Primarykeypada table “dua” adalah sama dengan nilai Primarykeypada tabel “satu” ” -
> bukan foreign key????
jadi kalo misal q punya tabel hp n tipe jadi id type masuk jd foreign keydi tabel hp nya. tp tabel hp itu jg punya id
sendiri.
soalna q mau bikin form yang modelnya join 2 tabel kaya gitu….
caranya sama ga???
tq
Reply
sabitzhabit says:
October 12, 2011 at 12:48 pm
oh, ga yang saya mksd beda kasus. Misal tabel yang hubungannya 1 to 1. Tapi klo mau seperti contoh kasus
yang anda paparkan di atas, primarykeydi tabel 2 menjadi foreign keydi tabel 1. Untuk msalah hp dan tipe,
baiknya dibuat terpisah antara form input untuk tabel hp dan tabel tipe. Tapi di tabel hp nyada sebuah
dropdownlist yang isinya memilih dari tabel tipe tadi…
Reply
angel says:
October 12, 2011 at 12:59 pm
oh….
ok….
tq tq….
Reply
emp4tbelas says:
November 2, 2011 at 1:07 am
gan ane mau nanya nih, kira kira bisa ga ya, satu textField dalam sebuah form, itu di simpen ke dua tabel
dalamsatu submit
contoh
$form->textField($model,’name’);
=> disimpan ke tabel Adan tabel B
Reply
sabitzhabit says:
November 2, 2011 at 5:58 am
bisa gan, di atur aja di controllernya misal :
$model1=new Tabel1;
$model2=new Tabel2;
$model1->namaAttribute=$_POST['namatext'];
$model2->namaAttribute=$_POST['namatext'];
Reply

2 model 1 form… pada yii framework… | Sabitlabscode

23/04/2013

fachrizal says:

fachrizal says:

wah ini yang ane cari tp masih agak beda, tabel yang saya punya tu 1 ke banyak gan ,,, gmana ya gan ????

mohon solusinya gan ,,, ane tanya di kaskus juga gan ,,, ni linknya gan >

 
 
Reply
Reply
Sabit Huraira says:
 
Reply
Reply

kokoadi says:

kokoadi says:

Saya mau tanya bagaimana caranya bikin edit datanya pada kasus anda dengan pasing parameter dari pk

 

tabelnya?

Bagaimana membikin aktif radiobutton dari fieldnya.

 

Trims atas bantuannya.

 
Reply
Reply
Sabit Huraira says:

mksd nygan?

 
Reply
Reply

imronimss says:

imronimss says:

gan mw tanya, kalo kasus ane tabel nya : riwayat pendidikan dosen dan riwayat pekerjaan dosen nah ane mw jadiin satu form input, field yang sama dari keduanya adalah id_dosen yang merupakan foreign keyke tabel dosen… nah gmn cara buat ngesave nya sedangkan primarykeydari kedua tabel berbeda……

 
Reply
Reply
Sabit Huraira says:

di

save dengan cara biasa aja gan primarykeybuat auto increment aja cuma foreign keynya aja yang harus

di

pastiin sama gan

Reply
Reply
 

adi says:

  adi says:

kok coba tutorial di atas yang kluar cuma halaman kosong ya?salah dimananya ya?

 
Reply
Reply
Sabit Huraira says:

di

coba di pelajri dulu gan dari awal ini masih dasar soalnya gan

Reply
Reply
mugi wiguna says:

mas sabit mau nanya

2 model 1 form… pada yii framework… | Sabitlabscode

23/04/2013

$model2->duasatu = $model->satusatu;

$model2->save(false);

$this->redirect(array(‘view’,'id’=>$model->satusatu)); nah yang duasatu sama satusatu itu nama apanya ?

Reply
Reply
Sabit Huraira says:

itu field/attribute nymbak

Reply
Reply
mugi wiguna says:

udah ngikutin yang di atas ko hasilnya gini ya

Fatal error: Call to a member function getErrors() on a non-object in E:\xampp\htdocs\yiimugi\framework\web\helpers\CHtml.php on line 1592

Reply
Reply

Rickosays:

Rickosays:

mas, klo otomatis update, datanya masuk kedua tabel tanpa melalui form, gimana ya gan?mohon batuan gan

Reply
Reply
mugi wiguna says:

pas buat di update gimana yah ? error nya disini “$model=$this->loadModel($id);”

Reply
Reply
Sabit Huraira says:

apa error nygan?

Reply
Reply

asepmylocal says:

asepmyloca l says:

kalo update bermasalah gan get_class() expects parameter 1 to be object, null given

Reply
Reply

devansays:

devansays:

Om code saya gini

public function actionCreate()

{

$model=new transaksi;

$model2=new Customer;

if(isset($_POST['transaksi'],$_Post['Customer']))

{

$model->attributes=$_POST['transaksi'];

$model2->attributes=$_POST['Customer'];

$valid=$model->validate(); $valid=$model2->validate() &&$valid; if($valid)

2 model 1 form… pada yii framework… | Sabitlabscode

23/04/2013

 

{

 

if($model->save())

{

$model2->Customer= $model->transaksi;

$model2->save();

$this->redirect(array(‘view’,'id’=>$model->No_Order));

}

}

}

$this->render(‘create’,array( ‘model’=>$model,

‘model2′=>$model2,

));

}

tp ga kesimpe k database nya malah rendering di form za jd blank truzerrorSummarynya jg jd ga fungsi…

tolong bantuan nya

Reply
Reply
Sabit Huraira says:

@asep : ada fungsi yang agan panggil parameter nya kelebihan/kekurangan. @devan : kemungkinan dia ga lolos saat pengkodisian “if(isset($_POST['transaksi'],$_Post['Customer']))” kyak nya transaksi itu “t” nya pake huruf besar mngkin

Reply
Reply

Leave a Reply

EEnntteerr yyoouurr ccoommmmeenntt hheerree

 
c c o o m m m m e e n n t t h h