以下に示すモデルにカスタム検索があります。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,
));
}