Php 如何在yii框架中将文本字段更改为单选按钮列表并过滤空值
我正在高级搜索中使用文本字段。现在,我需要将文本字段“审阅日期”转换为两个单选按钮“审阅”和“未审阅”。Reviewed按钮应显示ReviewedDate not null和Reviewed with null值的所有行。我正在使用_search.php进行此操作 更改模型中的搜索功能:Php 如何在yii框架中将文本字段更改为单选按钮列表并过滤空值,php,yii,radiobuttonlist,Php,Yii,Radiobuttonlist,我正在高级搜索中使用文本字段。现在,我需要将文本字段“审阅日期”转换为两个单选按钮“审阅”和“未审阅”。Reviewed按钮应显示ReviewedDate not null和Reviewed with null值的所有行。我正在使用_search.php进行此操作 更改模型中的搜索功能: public function search() { $criteria = new CDbCriteria; // ... other fields // ADD THIS
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,
));
}
更改您的\u search.php:
<div class="row">
<?php echo $form->labelEx($model, 'reviewedDate'); ?>
<?php echo $form->radioButtonList($model, 'reviewedDate',
array('1' => 'Reviewed', '' => 'Not Reviewed')
); ?>
</div>
我认为您需要在表中添加一个布尔字段(例如
isReviewed
)。然后,每当检查项目时,将1分配给字段,默认值也是0。然后在\u search.php
中:
CHtml::activeRadioButtonList($model,'isReviewed',array(
1=>'Reviewed',
0=>'Not Reviewed',
)),
我希望有用。我得到一个CDBEException:CDbCommand无法执行SQL语句:SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行中使用接近“NULL”的正确语法。执行的SQL语句是:从
message\u template
t
中选择COUNT(*),其中(MessageType=:ycp0)和(ReviewedDateIS NULL)我得到这个错误“找不到结果”当我单击“未审核”时,单击“未审核”按钮时,未找到任何结果是…它确实已审核工作正常…但“未审核”将参数作为0表示null如何指定null而不是0我无法修改表