Yii2: Generate Code Via Gii di Yii Framework Versi 2
Category: PHP, Yii Framework
24 Jun 14
Artikel ini adalah lanjutan dari artikel sebelunya tentang pengaturan dasar Yii Framework.
Gii adalah tool untuk menggenerate kode di YiiFramework. Inilah yang menarik di Yii, mungkin sangat sulit bagi saya yang nyubi ini untuk membuat atau menulis kode dari nol.. Generator Yii memudahkan, mempercepat pembuatan sebuah aplikasi, kita juga bisa belajar dari kode yang dihasilkan.
Oke langsung aja.. buka aplikasi frontend Anda http://frontend, lalu signup atau register. kemudian:
- Buka aplikasi backend, karena gii adanya di backend. http://backend
- Silahkan login dengan username dan password hasil register tadi
- Lalu akses Gii dengan cara http://backend/gii
- Jangan kagok.. hajar saja.. pada Yii 1 untuk membuat Crud, yang perlu kita lakukan adalah generate model dulu, so Klik Model Generator
Tadi saat migrate kan generate tabel user, oke kita pake aja dulu..
Eits stop sebelum Preview and Generate.. jangan lupa.. model User sudah dibuatkan Yii secara otomatis ketika tadi kita migrate.. gak percaya?? buka aja di common/models/User.php nah looo.. oke kita skip aja ya langkah ini.. kecuali Anda mau generate tabel lain.. - Sekarang waktunya generate CRUD, masuk aja ke Crud Generrator
Pada Model class masukkan aja common\models\User
Pada Search Model Class backend\models\UserSearch
Lalu pada Controler nih yang harus diisi, misal Anda ingin membuat CRUD di aplikasi backed, maka ya tinggal tulis aja backend\controllers\UserController - Lalu tinggal Preview and Generate deh..
- Selesai.. saatnya mencoba.
- Buka http://backend/user …. dan.. eng ing eng
Lalu coba klik gambar mata atau view
- Done..
Oh maaf lupa, untuk memudahkan user mengakses CRUD User, kita bisa buatkan link pada menu utama.. caranya gampang :), Edit file di \backend\views\layouts\main.php, tambahkan item menu
$menuItems[] = [ 'label' => 'User', 'url' => ['/user'], ];
Mudah2an manfaat silahkan kalo ada pertanyaan atau masukan thx CMIIW
Requirement
- Software: Yii2
- Brainware: Newbie
34 Comments
Gan ane make yii2 yg basic pas mau generate CRUD kok Search Model Class ngak oleh d kosongin ya ?
bukannya Gii di basic sama yg advance sama saja ya ?
Mohon pencerahannya donk Gan.
misal modelnya ini: common\models\User
maka untuk searchnya tinggal ditambahin kata Search gak harus tapi contohnya demikian : common\models\UserSearch
Ohh jdi ntr model search tuh di generate otomatis ya ?
ane kira kita harus buat model searchnya dlu.
soalnya pas ane generate model yang di generate kan cuman model doank ngak isi search model.
Ya benar
saya instal yg basic ada gii nya, tapi pas instal advanced kok gak ada gii nya ya??
udah nemu, hhe… cuma panik ternyata
tidak hanya Anda, banyak.. bahkan saya juga hahah
mas maaf saya mau nanya mas, kok saya tidak bisa akses gii yah ? saya menggunakan advanced dan untuk mengaksesnya
http://localhost/advanced/backend/gii
hasilnya adalah “object not found”, saya melakukan skip tutorial di short URLnya mas jadi urlnya agak panjang hehehe
http://localhost/advanced/backend/web/gii
pake ini mas
http://localhost/advanced/backend/web/index.php?r=gii
sip kakak
pake ini mas
http://localhost/advanced/backend/web/index.php?r=gii
saya udah nyoba mas, mode search saya isi, setelah di generate saya coba buka di browser ga keluar mas,
via menu User yg keluar ini:
Invalid Configuration – yii\base\InvalidConfigException
The table does not exist: {{%user_search}}
User Search gak usah digenerate.. udah otomatis terbuat.. ketika Anda menggenrate Crud user.. isikan model search dengan app\models\UserSearch
malam gan, saya sudah coba di http://localhost/advanced/backend/web/gii
object not found.. tidak ditemukan gii nya..
trims
hem kenapa yah… ada config yang terlewat maybe
Gan, uda ane coba semua dan lancar. Sampai proses generate model lancar, eh pas aneh generate CRUD keluar gini “Class ‘backend\model\Siswa’ does not exist or has syntax error”
mohon pencerahan gan
ini isian model class Kategori dari CRUD saya
common\models\Kategori\Kategori
Jadi model class nya juga harus disebut (Kategori yang ke 2), gak cuma folder nya (Kategori yang pertama)
perhatikan pas generate model
bagian namespace.. karena defaultnya
app\models
pastikan
backend\models
Silahkan digenerate ulang modelsnya
sudah saya ganti namespace nya tetapi masih error mas
hem
Lankah ke 8 error seperti ini
Frontend:
Not Found (#404)
Padahal sudah tercipta folder” frontend/views/user
Backend:
The view file does not exist: C:\xampp\htdocs\belajaryii2\advanced\backend\views\user\index.php
Mohon pencerahan.
Terimakasih
Setelah dicek belum ada folder “user” di bawah folder backend\views\
Gan bisa request langkah-langah CRUD tanpa menggunanak GII.
maksih
Aneh… CRUD itu harus pake Gii
maaf saya mau tanya. saya berhasil CRUD table User. tetapi untuk CREATE dan UPDATE yang tampil hanya textbox “status” saja. nah pas saya nambahin textbox lain yg ada di table “user”, malah error “password:write-only”. itu knpa yah ?
Kamu generate lagi… tabel user di backend/models, karena model user bawaan yii memang hanya untuk keperluan login..
Pas Cretae user ada textbox status, itu status maksdunya apa ya mas?
status user..
0 berarti user tersebut dibanned gak bisa login
10 berarti user itu active bisa login
lihat di common/models/User.php
mas Hafid, saya sudah nambahin field username dan email di create form, tapi ketika data saya isi kosong kenapa bisa tersimpan ? padahal di modelnya sudah required…
Unknown Class – yii\base\UnknownClassException cara mengatasi
punya gue malah kayak gini gan,
yg tau kirim ke email ane ya gan, ivansetiadi51@gmail.com
mas Hafid , saya ud coba sma seperti tutor nya mas .. dan jadi namun d form create ko munculnya cuman status aja .. misal kan mau buat user baru gmna ?
salam. mas saya bingung nih. di model generator nya. kenapa ya kan table name nya udah di isi sesuai yg di dtabase nya dan model class nya juga otomatis muncul. nah pas di preview sih muncul generate nya. tapi pas di klik generate nya malah muncul di kolom generate nya tulisan “unchanged”. itu maksudnya gimana ya mas? udah saya otak atik masih aja susah. dan saya bingung mesti ngubah yg mananya. masalahnya dimana ya itu mas?. mohon solusinya mas. terimakasih
thx mas Alhamdulillah bisa