Pesan Error Saat Nyimpen Data Input Tipe Tanggal di YII

Bagai mana cara menangani datetime di YII untuk bisa disimpan ke MySQL:

Setting yang sudah dilakukan:

  1. file rootapp/index.php:

date_default_timezone_set(‘Asia/Jakarta’);

atau

date_default_timezone_set(‘UTC’);

::hasilnya sama saja error

  1. di file rootapp/modul1/_form.php

input pakai date timepicker

  1. contoh input tanggal setelah dijalankan:

-cara input langsung kekotak tgl :

01-01-2012

01-01-12

2012-01-01

12-01-01

-atau cara dengan datetimepicker

-hasilnya tetap error…


Error :

CDbException

CDbCommand failed to execute the SQL statement: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: ‘’ for column ‘dtgl_catat’ at row 1. The SQL statement executed was: INSERT INTO asr_polis

C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\yii\framework\db\CDbCommand.php(354)


Pertanyaannya apa yang harus dilakukan agar data inputan yii bisa masuk ke database mysql…

Terima kasih…

Jawabnnya:

Ganti array di function rules dari ‘safe’ menjadi “‘default’, ‘value’=>NULL”

  1. cari file \rootapp\modul1\protected\models\test.php

  2. cari function dan tipe tanggal yang mau di ubah sbb:

    public function rules()

    {

asal :

array(‘dtgl1’, ‘safe’),

ganti dengan :

array(‘dtgl1’, ‘default’, ‘value’=>NULL),

  1. simpan dan test aplikasi anda…

wah , klo sayah mah untuk tipe tanggal di mysql selalu pake varchar. soalnya klo gabung 2 database yang berbeda , misal mysql-oracle supaya gak terlalu ribet. hehehe…maklum masih newbie sayah mah ^_^