2014-09-01 4 views
0

Я работаю над программой с DatePicker, но когда я пытаюсь представить его в базу данных MySQL дает следующее сообщение об ошибке:Datepicker не могут быть сохранены в MySQL

CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0000-00-00' for key 'Dag'. 

Код, который я использовать для DatePicker является:

<div class="row"> 
<?php echo $form->labelEx($model,'Dag'); ?> 
    <?php 

    $form->widget('zii.widgets.jui.CJuiDatePicker', array(
     'model' => $model, 
     'attribute' => 'Dag', 
     'htmlOptions' => array(
     'size' => '10',   // textField size 
     'maxlength' => '10', // textField maxlength 

     ), 
    )); 
    ?> 
<?php echo $form->error($model,'Dag'); ?> 
</div> 

Я знаю, что он говорит, что уже есть дата названа 0000-00-00, но я не добавить, что один, но дата 2014-09-02!

+1

После спокойно прочитать сообщение об ошибке, что же вы делаете вывод? –

+0

То, что там уже дата 0000-00-00. Но строка, которую я хотел ввести, - 2014-09-02. – MvanOeffel

+1

Итак, вы отправили '2014-09-02' (или вы * думаете * вы его отправили), и MySQL хочет вставить' 0000-00-00'. Очевидно, вы не сказали ему вставить '0000-00-00', чтобы попытаться выяснить, почему он это считает. С чего начать? –

ответ

0

Если атрибут Dag считается unsafe вашей моделью Yii ActiveRecord, то новое значение отправленного из DatePicker (и назначен, возможно, $model->attributes = $_POST['ModelName'];) не будут назначены, если не назначить его вручную следующим образом: $model->Dag = $_POST['ModelName']['Dag']

Если вы хотите, вы можете также установить атрибут Dag как безопасно в вашей модели:

public function rules() { return array( ..., array('Dag', 'safe'), ); }

Смежные вопросы