Mengakses Banyak Model di Yii2 | KafeinKode

Kursus bahasa arab berkualitas

Mengakses Banyak Model di Yii2

Anonim No Comments



Hi, guys… Sudah sebulan saya gak posting di blog ini. Kini saya kembali lagi di hadapan kalian, masih dengan materi yang sama seputar Yii2, yaitu tentang cara mengakses banyak model di Yii2. Diharapkan setelah membaca tutorial di bawah ini, sobat sudah bisa memahami bagaimana bekerja dengan banyak model di Yii2.

Yii2 merupakan sebuah framework PHP yang full OOP dan berbasis MVC. Karena sifatnya yang menganut sistem MVC, komponen-komponen yang mencakup data, view dan logika tidak digabungkan menjadi satu, melainkan dipisahkan sesuai bagiannya masing-masing. Khusus untuk segala hal yang berhubungan langsung dengan database, model lah yang menghandle bagian ini. Sehingga dalam suatu kasus manakala kita memiliki banyak tabel dan kita ingin melibatkan banyak tabel, dalam Yii kita harus membuat model sesuai dengan jumlah tabel yang ingin kita libatkan. Jika tabel yang ingin kita libatkan ada 3, maka jumlah modelnya pun 3, dan seterusnya. Singkatnya seperti itu yang saya pahami saat ini.

Mengakses-Banyak-Model-di-Yii2

Ok, tak usah panjang lebar, saya harap sobat sudah bisa memahami penjelasan di atas, dan saya anggap sobat sudah memahami cara membuat model di Yii2. Kita akan memulai contoh kasusnya dengan kode di bawah ini, di mana saya melibatkan setidaknya 3 model untuk saya olah.

Mengakses Banyak Model di Yii2

public function actionCreate()
{
$model1 = new Nilaiharian();
$model2 = new Listusers();
$model3 = new Grade();

if($model2->load(Yii::$app->request->post()) && $model3->load(Yii::$app->request->post()) ) //apabila tombol create disubmit, maka dilakukan request model2 dan model3
{

$model2->load(Yii::$app->request->post());
$model3->load(Yii::$app->request->post());

$nilai = $model3->grade;
$username = $model2->username;
$nama = $model2->nama;

//insert into nilaiharian(nis, nama, $nilai)values(username, nama, angka)
$model1->nis = $username;
$model1->nama = $nama;
$model1->$nilai = $model3->angka;


try{
if($model1->save(false))
{
Yii::$app->getSession()->setFlash('success','Data saved!');
return $this->render('create', ['model1' => $model1, 'model2' => $model2, 'model3' => $model3, ]);
}
}

catch(\Exception $e)
{
Yii::$app->getSession()->setFlash('error','Input data gagal. Data mungkin sudah ada!');
return $this->render('create', ['model1' => $model1, 'model2' => $model2, 'model3' => $model3, ]);
}


}
else
{
return $this->render('create', ['model1' => $model1, 'model2' => $model2, 'model3' => $model3, ]);
}

}

Sobat bisa lihat pada kode di atas tadi, di mana saya melibatkan 3 model. Setiap model memiliki satu tabel, dari 3 tabel itulah, yang kemudian akan saya olah menjadi informasi yang bermanfaat. Ada perbedaan yang mencolok pada framework yii ini khususnya dalam masalah di atas. Jika kita sudah terbiasa menggunakan PHP native, dalam proses insert, update dan delete, kita selalu menggunakan query SQL untuk melakaukannya. Namun tidak demikian halnya dengan yii2, dalam yii2, penggunaan query SQL tidak mutlak harus digunakan. Sobat bisa lihat pada kode di atas, di mana proses insert sama sekali tidak menggunakan query SQL insert to bla bla bla, itulah salah satu kecanggihan framework. Selanjutnya silahkan sobat berekspresi semaunya…

Sekian,
Semoga bermanfaat!

Kursus bahasa arab berkualitas

[shareaholic app="recommendations" id="20730868]

0 comments

Leave a Reply

Your email address will not be published. Required fields are marked *