Dedikisme's Blog

Ngeblog biar dibilang eksis

Yii2 Default Values in Form When Inserting New Record

Pada saat insert data baru secara default semua field pada form belum terisi (masih kosong). Dan disini saya tulis tentang tutorial bagaimana memasukkan value pada field – field secara default ketika mengisi data. Ok pertama pastikan sudah menset isi field default pada field di database, dan jika dirasa tidak perlu mengubah database maka bisa diset dimodel seperti berikut

Namamodel.php
1
2
3
4
5
6
7
<?php
...
    public function loadDefaultValues() {
        $this->active=true; //contoh set default value active true
    }
...
?>

dan jika ternyata udah diset di database lewati langkah tadi dan lanjut langkah berikutnya, pasng loadDefaultValues() tadi di init model

Namamodel.php
1
2
3
4
5
6
7
<?php
...
    public function init() {
        $this->loadDefaultValues();
    }
...
?>

akan tetapi cara diatas berimbas pada Gridview yg akan secara default juga mengisi kolom pencarian dengan default value yg tadi. Maka cara yang saya gunakan dengan cara cek record baru

Namamodel.php
1
2
3
4
5
6
7
8
9
<?php
...
  public function init() {
     if($this->isNewRecord){
        $this->loadDefaultValues();
     }
  }
...
?>

dan kemudian pada model search nya set lagi isNewRocord jadi false agar tidak selalu true pada pemanggilan Model Search pada gridview

NamamodelSearch.php
1
2
3
4
5
6
7
<?php
...
   public function init() {
        $this->isNewRecord=FALSE;
    }
...
?>

Ok thanks, jika ada cara lain mohon dishare juga :D

Comments