Filter Yii CGridView和下拉过滤器
我创建了下拉过滤器,它的显示,但不工作的权利。我在search()方法中遇到了麻烦 视图:Filter Yii CGridView和下拉过滤器,filter,yii,Filter,Yii,我创建了下拉过滤器,它的显示,但不工作的权利。我在search()方法中遇到了麻烦 视图: $this->widget('zii.widgets.grid.CGridView', array( 'dataProvider'=>$model->search(), 'filter' => $model, 'columns'=>array( array( 'nam
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$model->search(),
'filter' => $model,
'columns'=>array(
array(
'name' => 'client_id',
'filter' => CHtml::listData(Client::model()->findAll(), 'client_id', 'name'),
'value'=>'$data->client->name'
),
'task'
)
));
我必须把这些表放下来,它们的关系显示在下面
型号:
检查
规则
方法<对于搜索
public function rules()
{
return array(
array('client_id', 'safe', 'on'=>'search'),
);
}
检查,它详细地解释了您需要什么。我承认我的错误,我的控制器应该是这样的:
public function actionIndex()
{
$model=new Tasks;
if(isset($_REQUEST['Tasks']))
$model->attributes=$_GET['Tasks'];
$this->render('index',array(
'model'=>$model
));
}
我放弃了从控制器到模型的传递参数。谢谢大家 它怎么不起作用?它输出的是什么?我认为这个wiki可能会有所帮助:它输出的结果与filterin之前的相同,我认为$this->client_id在CDBCriteria中不起作用,我尝试过,但也没有结果。排序工作正常,但按下拉列表中的值进行搜索不起作用,如mashingan所述,请检查您是否有客户端id的安全规则,以便可以对其进行批量分配阵列(“任务id、客户端搜索、任务、开始日期、结束日期、完成、客户端id”、“安全”、“打开”=>“搜索”),您是否可以确认在服务器端获取该值?打印($_POST)输出的是什么?当我使用$criteria->compare('client_id',$_REQUEST['Tasks']['client_id'])而不是$criteria->compare('client_id',$this->client_id)时;一切正常。
public function actionIndex()
{
$model=new Tasks;
if(isset($_REQUEST['Tasks']))
$model->attributes=$_GET['Tasks'];
$this->render('index',array(
'model'=>$model
));
}