我在下面提到的模型中进行了自定义搜索,它可以解决MySQL中的任何问题,当我使用NetBeans执行代码时,Yii正确构建查询但不返回任何行。我在MySQL中运行相同的查询,我得到了预期的信息行。有什么我做错了吗?
public function fnSearch(){
$nParts=explode(" ", $_REQUEST['fnText']);
$criteria=new CDbCriteria;
$criteria->condition='first_name like ":fname" and last_name like ":lname"';
$criteria->params=array(';fname'=>trim($nParts[0]).'%', ':lname'=>trim($nParts[1]).'%');
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
我的测试表格如下:
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'test-form',
'enableAjaxValidation'=>false,
)); ?>
<?= CHtml::textField('fnText'); ?>
<?php $this->endWidget(); ?>
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'employees-grid',
'dataProvider'=>$model->fnSearch(),
// 'filter'=>$model,
'columns'=>array(
'first_name',
'last_name',
array(
'class'=>'CButtonColumn',
),
),
)); ?>
控制器有这个:
public function actionTest(){
$model=new Employees;
$this->render('test',array(
'model'=>$model,
));
}