Tutorial Yii2 Bagian 9 : Menggunakan Gii pada Advanced Template

Di tutorial sebelumnya kita pernah menggunakan Gii untuk basic template. Sekarang kita akan menggunakan Gii untuk advanced template.

1. Kita akan membuat 3 tabel : Companies, Branches, dan Departments. Dengan relationship seperti ini : Setiap company memiliki banyak branch, Branch memiliki banyak Department. Department juga merupakan bagian dari Company. Begini struktur masing-masing tabelnya :

Tutorial-Yii2-Tabel-Company

Tutorial-Yii2-Tabel-Branches

Tutorial-Yii2-Tabel-Departments

2. Selanjutnya kita masuk ke bagian backend di http://localhost/advanced/backend/web/index.php?r=gii 

Buatlah Model Generator untuk masing-masing tabel :

Table name : companies, Model Class : Companies, Namespace : backend\models

Table name : branches, Model Class : Branches, Namespace : backend\models

Table name : departments, Model Class : Departments, Namespace : backend\models

Kemudian tekan Preview dan Generate, maka akan otomatis muncul file Companies.php , Branches.php, dan Departments.php pada /backend/models.

3. Kembali ke bagian backend http://localhost/advanced/backend/web/index.php?r=gii dan pilih CRUD Generator.

Buatlah CRUD Generator untuk masing-masing tabel :

Model Class : backend\models\Companies , Search Model Class : backend\models\CompaniesSearch, Controller Class : backend\controllers\CompaniesController.

Model Class : backend\models\Branches , Search Model Class : backend\models\BranchesSearch, Controller Class : backend\controllers\BranchesController.

Model Class : backend\models\Departments , Search Model Class : backend\models\DepartmentsSearch, Controller Class : backend\controllers\DepartmentsController.

View Path dikosongkan saja. Tekan Preview kemudian Generate. Secara otomatis akan dibuat model Search, Controller, dan View.

Pada Yii2, apabila kita memiliki tipe data enum pada table, maka otomatis di Form nanti akan berbentuk DropDownList.

4. Kita akan memperbarui form yang berada di view. Modifikasi file _form.php yang berada di folder /backend/views/companies/ dengan menghapus input Company Created Date dan akan mengisinya secara otomatis, sehingga filenya menjadi :

5. Supaya tanggal terisi secara otomatis, kita akan melakukan modifikasi pada file CompaniesController.php yang berada di folder backend/controllers pada actionCreate() :

Coba untuk menambahkan company baru, dan ketika berhasil nanti akan muncul Company Created Date seperti tanggal saat ini :

Yii2-Tutorial-Mengisi-tanggal-secara-otomatis

 

Lakukan hal yang sama untuk Branches dan Departments, dan cobalah untuk menambahkan sebuah Branch.

Di index.php akan muncul nama Companies Company ID yang berupa angka. Kita akan merubah ini menjadi tulisan agar mudah dimengerti. Dalam kasus ini, akan mudah dimengerti Branch ini berasal dari Company yang mana.

 

Tutorial-Yii2-Mengganti-Nomor-menjadi-Tulisan

Kita perhatikan di model Branches.php terdapat relationship dengan  model Companies yang bernama getCompaniesCompany(). Selanjutnya kita modifikasi index.php dengan mengubah ‘companies_company_id’ menjadi ‘companiesCompany.company_name’. 

Yii2-Tutorial-Mengganti-Nomor-menjadi-Nama-pada-Relation

 

Lakukan hal yang sama pada Departments.

 

Yii2-Tutorial-Mengganti-Kolom-dari-Angka-Menjadi-Tulisan

Tutorial ini sebagai dokumentasi dan pembelajaran pribadi sekalian belajar terjemahin bahasa Inggris, dan siapa tahu bermanfaat buat orang lain. Sumber lengkapnya diambil dari Youtube DoingITEasy Channel.

1 thought on “Tutorial Yii2 Bagian 9 : Menggunakan Gii pada Advanced Template

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.