2013-07-29 46 views

回答

1

變化模型的搜索功能:

public function search() { 
    $criteria = new CDbCriteria; 

    // ... other fields 

    // ADD THIS 
    if($this->reviewedDate != '') { 
     $criteria->addCondition(
      'reviewedDate ' . ($this->reviewedDate=='1' ? 'IS NOT NULL' : 'IS NULL'), 
     ); 
    } 
    else { 
     $criteria->addCondition('reviewedDate IS NULL'); 
    } 

    return new CActiveDataProvider($this, array(
     'criteria'=>$criteria, 
    )); 
} 

更改_search.php

<div class="row"> 
    <?php echo $form->labelEx($model, 'reviewedDate'); ?> 
    <?php echo $form->radioButtonList($model, 'reviewedDate', 
     array('1' => 'Reviewed', '' => 'Not Reviewed') 
    ); ?> 
</div> 
+0

我得到一個CDbException:CDbCommand無法執行SQL語句:SQLSTATE [42000]:語法錯誤或訪問衝突:1064您的SQL語法錯誤;檢查與您的MySQL服務器版本對應的手冊,在第1行附近使用正確的語法以使用「NULL」。執行的SQL語句是:SELECT COUNT(*)FROM'message_template'''' WHERE(MessageType =:ycp0) AND(ReviewedDateIS NULL) – Rudra

+0

在REVIEWDATE和close quote - ''REVIEWDATE''之後應該有一個空格。 –

+0

在條件之前漏掉了if語句。你也應該添加它。 –

0

我認爲你需要一個布爾字段在表中(如isReviewed) 。然後,每當檢查項目時,將分配給該字段,也默認值爲。然後在_search.php

CHtml::activeRadioButtonList($model,'isReviewed',array(
      1=>'Reviewed', 
      0=>'Not Reviewed', 
    )), 

我希望能夠有用。

+0

我無法修改表格 – Rudra

相關問題