控制器和视图的源码在下面,模型源码是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里边的查询条件,也可以使用匿名函数实现.
@raijin
我的searchmodel里的数据集分成三类数据,不同的情况下想得到不同类型的数据,但又想服用search方法,所以就改写了search方法
`
public function search($params, $id=’%’)
{
`
增加了一个分类的参数进行对结果的过滤