YII2 gridview排序和过滤两列值的总和

时间:2015-05-26 02:30:46

标签: gridview yii2

我在gridview中成功显示了3列。 attr1attr2以及2个属性的总和。 attr1attr2来自数据库,第3列是他们的总和。如何进行排序和过滤工作。

这是gridview。

[
  'attribute'=>'total',
  'label'=>'TOTAL',
  'value'=>function($model){
  return $model->attr1+ $model->attr2;
  },
],

我在searchmodel中试过这个

$dataProvider->sort->attributes['total'] = [
        'asc' => [$this->attr1 + $this->attr1 => SORT_ASC],
        'desc' => [$this->attr1 + $this->attr2 => SORT_DESC],
        ];

$query->andFilterWhere([
            'total' => $this->total,
        ]);

1 个答案:

答案 0 :(得分:0)

你可以试试这个,

$query->andFilterWhere(['like', 'ADD(table_name.column1, table_name.column2)', $this->total])

可能有效吗?