Php Yii CGridView不显示默认过滤器

Php Yii CGridView不显示默认过滤器,php,yii,cgridview,Php,Yii,Cgridview,我试图用Yii呈现CGridView小部件,尽管表是正确的,但它不包括过滤器输入 视图中我的小部件代码如下所示: <?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'awesomeGrid', 'dataProvider'=>$model->search(), 'enableSorting'=>true, 'filter'=>$model, 'columns'=>array

我试图用Yii呈现CGridView小部件,尽管表是正确的,但它不包括过滤器输入

视图中我的小部件代码如下所示:

<?php
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'awesomeGrid',
'dataProvider'=>$model->search(),
'enableSorting'=>true,
'filter'=>$model,
'columns'=>array(
    /*array('name'=>'Check',
        'value'=>'CHtml::checkBox("name",true)',
        'type'=>'raw',
        'htmlOptions'=>array('width'=>5),
),*/
    array(
        'header'=>'Prueba_Columna',
        'name'=>'OBJECT_TYPE',
        'value'=>'$data->OBJECT_TYPE',
        'filter'=>$model->getFilter(),
        'type' => 'raw'),

)
));
?>
<div id="awesomeGrid" class="grid-view">
<div class="summary">Displaying 1-20 of 2432 results.</div>
<table class="items">
<thead>
<tr>
<th id="awesomeGrid_c0"><a class="sort-link" href="/apps/project_name/web/index.php/security/index?ObjectsList_sort=OBJECT_TYPE">Prueba_Columna</a></th></tr>
    <tr class="filters">
    <td></td></tr>
    </thead>
    <tbody>
    <tr class="odd">
    <td>VIEW</td></tr>
    <tr class="even">
    <td>VIEW</td></tr>
    </table>
    </div>
和我的控制器:

public function actionIndex()
{
    $appUsersModel    = new AppUsers(); //Instance the model object
    $objectsListModel = new ObjectsList('search');
    $objectsUserModel = new ObjectUser();

    $appsArray     = $this->getApps($appUsersModel);
    $projectsArray = $this->getProjects($objectsListModel);
    $usersArray    = array(array());
    $typesArray    = array(array());
    $objectsArray  = array(array());

    // renders the view file 'protected/views/security/index.php'
    // using the default layout 'protected/views/layouts/main.php'
    $this->render('index',
        array('appsArray' => $appsArray,
        'usersArray' => $usersArray,
        'projectsArray' => $projectsArray,
        'typesArray' => $typesArray,
        'objectsArray' => $objectsArray,
        'appUsersModel' => $appUsersModel,
        'objectsUserModel' => $objectsUserModel,
        'model'=>$objectsListModel,
        )
    );
}
当我转到firefox上的开发者工具并检查HTML是否正确时,我会看到以下内容:

<?php
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'awesomeGrid',
'dataProvider'=>$model->search(),
'enableSorting'=>true,
'filter'=>$model,
'columns'=>array(
    /*array('name'=>'Check',
        'value'=>'CHtml::checkBox("name",true)',
        'type'=>'raw',
        'htmlOptions'=>array('width'=>5),
),*/
    array(
        'header'=>'Prueba_Columna',
        'name'=>'OBJECT_TYPE',
        'value'=>'$data->OBJECT_TYPE',
        'filter'=>$model->getFilter(),
        'type' => 'raw'),

)
));
?>
<div id="awesomeGrid" class="grid-view">
<div class="summary">Displaying 1-20 of 2432 results.</div>
<table class="items">
<thead>
<tr>
<th id="awesomeGrid_c0"><a class="sort-link" href="/apps/project_name/web/index.php/security/index?ObjectsList_sort=OBJECT_TYPE">Prueba_Columna</a></th></tr>
    <tr class="filters">
    <td></td></tr>
    </thead>
    <tbody>
    <tr class="odd">
    <td>VIEW</td></tr>
    <tr class="even">
    <td>VIEW</td></tr>
    </table>
    </div>

显示2432个结果中的1-20个。
看法
看法
如您所见,有
标记,但不存在要筛选的输入标记。然后,我认为这个小部件是正确配置的,但是可能有一些错误使得输入没有显示出来

有人能帮我吗


谢谢。

过滤器应该是
数组。您是否检查了
getFilter()
的输出。它似乎不返回
数组
。这就是为什么你没有得到过滤器。尝试查看您的
函数的输出

最后我得到了一个解决方案,正如我告诉您的,我正在使用Yii,但我没有使用Gii生成模型,因此rules函数为空

我在该函数上定义了一个返回数组,使字段能够被搜索

代码是:

public function rules()
    {
        // NOTE: you should only define rules for those attributes that
        // will receive user inputs.
        return array(

                // The following rule is used by search().
                // Please remove those attributes that should not be searched.
                array('OBJECT_TYPE', 'safe', 'on'=>'search'),
        );

    }

谢谢大家的回复。

谢谢大家的回复。输出为:CActiveDataProvider对象。数组中应该包含哪些类型的值?感谢您在该字段中所需的内容表示选择框??转换所需数组中的对象??或者请使用函数输出和所需的过滤器下拉列表更新您的问题