Я создал 4 радиокнопки в расширенной форме поиска, используя приведенный ниже код.CdbCriteria не работает для двух полей одновременно
<div class="row">
<?php #echo $form->label($model,'ReviewedDate'); ?>
<?php echo $form->radioButtonList($model, 'ReviewedDate',
array('1' => 'Reviewed', '' => 'Not Reviewed')
); ?>
</div>
<div class="row">
<?php echo $form->radioButtonList($model, 'Approved',
array('0' => 'Rejected', '1' => 'Approved')
); ?>
</div>
Так что теперь я создал несколько критериев в модели для фильтрации GridView для отображения строки в соответствии со значением RadioButton.
if($this->ReviewedDate != '')
{
$criteria->addCondition('ReviewedDate ' . ($this->ReviewedDate=='1' ? 'IS NOT NULL' : 'IS NULL'));
$criteria->addCondition('updateddate > createddate');
$criteria->compare('revieweddate','0000-00-00 00:00:00');
}
else
{
$criteria->addCondition('updateddate = createddate');
$criteria->addCondition('ReviewedDate IS NULL');
}
if (isset($this->Approved) && !empty($this->Approved)) {
$criteria->addCondition("approved='" . $this->Approved . "'");
$criteria->condition = ' (updateddate > createddate) AND (revieweddate IS NOT NULL) and approved = 1 ';
}
else {
$criteria->addCondition("approved='" . $this->Approved . "'");
$criteria->condition = ' (updateddate > createddate) AND (revieweddate IS NOT NULL) and approved = 0 ';
}
Приведенный выше код работает отлично и отображает строки соответственно, если либо revieweddate критерии комментировали или утвержденные критерии комментировали. Но оба критерия не работают одновременно. Когда я пытаюсь использовать оба критерия одновременно, один из критериев работает.
1. Теперь, я хочу создать индивидуальный радиобудильник для каждой опции (мне нужно, чтобы 4 радиообъекта были одобрены, отклонены, просмотрены, не просмотрены).
2. Я хочу, чтобы радиатор работал по каждому критерию без перекрытия.
Как я могу это сделать