Yii $ criteria-> addBetweenCondition不在CDbCriteria中工作

时间:2013-09-04 07:03:25

标签: php yii

我希望得到发件人得分在1到10之间的结果,所以我添加了这个条件。

   $criteria->addBetweenCondition('sender_score',$_GET['senderscore_start'],$_GET['senderscore_end']);

sender_score是我的表字段,senderscore_start和senderscore_end只是公共变量。

我的代码搜索:

<div class="row">       
    <?php echo $form->label($model,'senderscore_start'); ?>
    <?php echo $form->textField($model,'senderscore_start',array('size'=>60,'maxlength'=>100,'style'=>'width:300px;')); ?>      
</div>  
<div class="row">       
    <?php echo $form->label($model,'senderscore_end'); ?>
    <?php echo $form->textField($model,'senderscore_end',array('size'=>60,'maxlength'=>100,'style'=>'width:300px;')); ?>       
</div>

我的型号代码:

public $senderscore_start;
public $senderscore_end;

array('senderscore_start,senderscore_end', 'safe', 'on'=>'search'),

$criteria->addBetweenCondition('sender_score',$_GET['senderscore_start'],$_GET['senderscore_end']);`

但是没有显示1,10之间的结果,请你看看这个!我的代码出了什么问题。             `

2 个答案:

答案 0 :(得分:2)

您不应该从模型中访问任何请求变量,例如$_GET。所以正确的解决方案是:

$criteria->addBetweenCondition('sender_score',$this->senderscore_start, $this->senderscore_end);

答案 1 :(得分:1)

试试这个!

 $criteria->addBetweenCondition('sender_score',$_GET['IpManager']['senderscore_start'],$_GET['IpManager']['senderscore_end']);