2014-09-01 60 views
0

我工作的一個程序,一個日期選擇器,但是當我試圖將其提交到MySQL數據庫它提供了以下錯誤:日期選擇器不能保存到MySQL

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

的代碼,我使用的日期選擇是:

<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年9月2日!

+1

你從容閱讀錯誤消息後,你有什麼結論? – 2014-09-01 14:18:36

+0

那裏已經有名爲0000-00-00的日期。但是我想輸入的字符串是2014-09-02。 – MvanOeffel 2014-09-01 14:19:43

+1

好的,所以你發送了'2014-09-02'(或者你認爲你發送了它),並且MySQL想要插入'0000-00-00'。顯然,你沒有告訴它插入'0000-00-00',所以你試圖找出它認爲的原因。你從哪裏開始? – 2014-09-01 14:21:17

回答

0

如果屬性Dag是由您的Yii ActiveRecord模型,然後從發送的DatePicker新值考慮unsafe(和$model->attributes = $_POST['ModelName'];可能分配),除非你手動分配它像這樣將不會分配:$model->Dag = $_POST['ModelName']['Dag']

如果你願意,你也可以將它Dag屬性作爲安全模型中:

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

相關問題