谁一开始就是大神?

dataprovider数据筛选问题[2.0]

控制器和视图的源码在下面,模型源码是GII生成的;

$searchModel = new BodySearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);

GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\CheckboxColumn'],
        ['class' => 'yii\grid\SerialColumn'],
        'created_at',
        'col_a',
        'col_b',
        'col_c',......
        'updated_at',
        ['class' => 'yii\grid\ActionColumn'],
    ],
  ]);

按照这样写的方法,gridview会生成一个表格,表格会显示Body里面的所有数据。
而我想要的结果是,只显示Body里面col_d为某个值的所有数据。请问怎么修改

那就修改dataProvider数据,而dataProvider应该是通过searchModel生成的,那么去修改searchModel中的过滤条件
如果不想更改dataProvider里边的查询条件,也可以使用匿名函数实现.

QQ截图20160919102243.png
我的searchmodel里的数据集分成三类数据,不同的情况下想得到不同类型的数据,但又想服用search方法,所以就改写了search方法
`
public function search($params, $id=’%’)
{
`
增加了一个分类的参数进行对结果的过滤

赞(0) 打赏
未经允许不得转载:菜鸟之家 » dataprovider数据筛选问题[2.0]

评论 抢沙发

登录

找回密码

注册