DropdownList Berdasarkan Database Pada YII2 - Hallo sahabat Dev-Create, Pada Artikel yang anda baca kali ini dengan judul DropdownList Berdasarkan Database Pada YII2, kami telah mempersiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. mudah-mudahan isi postingan Artikel yii, yang kami tulis ini dapat anda pahami. baiklah, selamat membaca.

Judul : DropdownList Berdasarkan Database Pada YII2
link : DropdownList Berdasarkan Database Pada YII2

Baca juga


DropdownList Berdasarkan Database Pada YII2



Selamat datang... Kali ini kita akan belajar membuat sebuah drop down list berdasarkan database pada YII2.
Mengapa kita perlu membuat sebuah drop down list pada form kita? Kan kita bisa membuat sebuah drop down secara manual. Um... kita buat sebuah studi kasus.

Kita mempunyai dua buah tabel seperti berikut:



Kemudian kita membuat CRUD tabel 'artikel' menggunakan GII dan hasilnya seperti ini:



Kalau belum tahu caranya membuat CRUD menggunakan GII, silahkan ikuti tutorial berikut terlebih dahulu.

Di sini kita anggap saja yang memasukkan data bukanlah penulis artikel itu sendiri. Melainkan orang lain yang tugasnya memang memasukkan data. Masalah yang muncul adalah, petugas tersebut tidak hafal id penulis dan ini membuat pekerjaannya menjadi kurang cepat. Karena itu, kita akan mengganti form input tersebut menjadi dropdown list yang berisi nama-nama penulis. Meskipun nanti, nilai yang disimpan di database adalah id sang penulis.

Baiklah, pertama yang perlu kita edit adalah _form.php yang ada di folder artikel.

Pada bagian atas(yang ada use), kita tambahkan arrayHelper dan models tabel User. Sehingga menjadi seperti ini:

use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\helpers\ArrayHelper;
use common\models\User;

Di atas models User saya namespace-nya "common\models". Bisa disesuaikan dengan namespace dari model yang anda gunakan.

Lalu pada kita ubah :

<?= $form->field($model, 'user_id')->textInput() ?>

Menjadi :

<?=
$form->field($model, 'user_id')->dropDownList(
ArrayHelper::map(User::find()->all(),'id','username'),
['prompt'=>'Pilih User']
)
?>

Penjelasan step by step:
1. Kita ubah textInput() menjadi dropDownList() karena kita akan membuat sebuah dropdown. Tapi, bagaimana dengan isinya?
2. Untuk mengisi dropdown tersebut, kita menggunakan ArrayHelper yang di integrasikan dengan model User.
3. Pada sintaks di atas, User adalah nama class yang ada di dalam model. Sedangkan maksud dari sintak User::find()->all() adalah menemukan dan mengambil semua data yang ada pada tabel user (kan model User dibuat berdasarkan tabel user).
4. 'id' dan 'username' di sana adalah kolom yang ada pada tabel user. 'id' adalah apa yang akan dikirimkan ketika form di submit, sedangkan 'username' adalah apa yang akan muncul (menjadi isi) di dropdown.
5. ['prompt'=>'Pilih User'] berarti, nilai awal atau tulisan yang ada pada dropdown ketika kosong adalah 'Pilih User'.

Jadinya seperti ini:




Jikalau anda merasa ada kesalahan atau error, silahkan berkomentar dengan bijak. Sekian dan terima kasih.


Demikianlah Artikel DropdownList Berdasarkan Database Pada YII2

Sekianlah artikel DropdownList Berdasarkan Database Pada YII2 kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.

Anda sekarang membaca artikel DropdownList Berdasarkan Database Pada YII2 dengan alamat link https://dev-create.blogspot.com/2023/08/dropdownlist-berdasarkan-database-pada.html