Sebelum membahas mengenai pembuatan CRUD (Create,Read,Update,Delete) menggunakan Yii2 pastikan terlebih dahulu anda sudah membaca
Pastikan Yii2 sudah terinstal dikomputer anda. pada tutorial ini database yang akan digunakan masih sama dengan yang sebelumnya yang ada pada meteri
namun ada sedikit perubahan dan penambahan kolom pada tabel buku, untuk melakukan perubahan silahkan anda buka database yang sudah anda buat sebelumnya dengan menggunakan phpmyadmin, untuk mengaskes phpmyadmin anda harus menjalankan terlebih dahulu fitur mysql dan apache seperti gambar berikut :
jika sudah silahkan akses phpmyadmin dengan mengetik di url browser anda
http://localhost/phpmyadmin kemudian pilih database perpustakaan kemudian klik tabel buku dan tekan menu struktur/structure untuk mengubah dan menambah kolom pada tabel tersebut.
sesuaikan kolom tabel anda seperti gambar diatas, kemudian tambahkan dua buah kolom kemudian tekan tombol kirim
tambahkan dua buah kolom yaitu created_at dan updated_at dengan tipe data integer kemudian simpan.
Konfigurasi Database Pada Yii Framework
agar aplikasi kita terhubung dengan database kita perlu melakukan konfigurasi, sebelum itu silahkan buka terlebih dahulu project anda menggunakan editor disini saya menggunakan Visual Studio Code sebagai editor, kemudian buka folder config kemudian kemudian buka file db.php dan sesuaikan seperti gambar berikut :
Membuat Model
Setelah itu buka folder model kemudian kita akan menambahkan sebuah file dengan nama Buku.php file tersebut digunakan untuk mendekalarasikan kolom-kolom yang ada pada tabel yang sudah kita buat.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php namespace appmodels;
use yiidbActiveRecord;
class Buku extends ActiveRecord { public static function tableName() { return 'buku'; }
public function rules() { return [ [['kode_buku', 'judul', 'isbn'], 'required'], [['judul'], 'string'], [['pengarang'], 'string'], [['isbn'], 'string'], [['foto'], 'string'], [['created_at'], 'integer'], [['updated_at'], 'integer'], ]; } }
|
Membuat Controller
buatlah sebuah file folder controller berikan nama BukuController kemudian masukan kode sebagai berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | <?php
namespace appcontrollers;
use Yii; use yiiwebController; use appmodelsBuku;
class BukuController extends Controller {
public function actionIndex() {
$buku = Buku::find()->all(); return $this->render('index', [ 'buku' => $buku, ]); }
public function actionCreate() { $model = new Buku(); if (Yii::$app->request->post()) { $model->load(Yii::$app->request->post()); if ($model->save()) { Yii::$app->session->setFlash('success', 'Data berhasil disimpan'); } else { Yii::$app->session->setFlash('error', 'Data gagal disimpan'); } return $this->refresh(); } else { return $this->render('create', [ 'model' => $model, ]); } }
public function actionDelete($id) { $model = Buku::findOne($id); $model->delete(); return $this->redirect(['index']); }
public function actionUpdate($id) { $model = Buku::findOne($id);
if (Yii::$app->request->post()) { $model->load(Yii::$app->request->post()); if ($model->save()) { Yii::$app->session->setFlash('success', 'Data berhasil disimpan'); } else { Yii::$app->session->setFlash('error', 'Data gagal disimpan'); } return $this->refresh(); } else { return $this->render('update', [ 'model' => $model, ]); } } }
|
Membuat View
pada folder view kita akan membuat folder dan beberapa file adapun folder yang akan ditambahkan adalah folder buku pada folder tersebut akan berisi beberapa file yaitu :
- index.php, digunakan untuk menampilkan data
- create.php, digunakan untuk membuat form simpan data
- update.php digunakan untuk membuat form ubah data
- _form.php, digunakan untuk menampilkan kolom-kolom yang akan kita simpan atau ubah. jadi create.php dan update.php akan menmpung _form.php sehingga kita tidak perlu membuatnya secara berulang kali.
index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | <?php use yiihelpersHtml; ?> <style> tr { text-align: center; }
th { text-align: center; } </style> <h1>Daftar Buku Perpustakaan</h1> <div class="container"> <div class="row"> <?= Html::a('Tambah Buku', ['create'], $options = ['class' => 'btn btn-primary pull-right']) ?> </div> <br /> <h1>Tambah Data Buku</h1> <?php ?> <div class="row"> <?php $i = 1; echo "<table class='table table-bordered table-striped'>"; echo "<tr>"; echo "<th>NO</th>"; echo "<th>KODE BUKU</th>"; echo "<th>JUDUL</th>"; echo "<th>PENGARANG</th>"; echo "<th>ISBN</th>"; echo "<th colspan='2'>AKSI</th>"; echo "</tr>"; foreach ($buku as $bukus) { echo "<tr>"; echo "<td>" . $i++ . "</td>"; echo "<td>" . $bukus->kode_buku . "</td>"; echo "<td>" . $bukus->judul . "</td>"; echo "<td>" . $bukus->pengarang . "</td>"; echo "<td>" . $bukus->isbn . "</td>"; echo "<td>" . Html::a('<i class="glyphicon glyphicon-pencil"></i>', ['buku/update', 'id' => $bukus->kode_buku]) . "</td>"; echo "<td>" . Html::a( '<i class="glyphicon glyphicon-trash"></i>', ['buku/delete', 'id' => $bukus->kode_buku], ['onclick' => 'return (confirm("Apakah data mau di hapus?")?true:false);'] ) . "</td>"; echo "</tr>"; } echo "</table>"; ?> </div> </div>
|
create.php
1 2 | <h1>Tambah Data Buku</h1> <?php echo $this->render('_form', ['model' => $model]); ?>
|
update.php
1 2 | <h1>Edit Data Buku</h1> <?php echo $this->render('_form', ['model' => $model]); ?>
|
_form.php
1 2 3 4 5 6 7 8 9 10 11 | <?php use yiihelpersHtml; use yiibootstrapActiveForm; ?> <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'kode_buku') ?> <?= $form->field($model, 'judul') ?> <?= $form->field($model, 'isbn') ?> <?= $form->field($model, 'pengarang') ?> <?= Html::submitButton('Simpan', ['class' => 'btn btn-primary']) ?> <?php ActiveForm::end(); ?>
|
Selesai
Posting Komentar untuk "CRUD Menggunakan Yii2"