继此之后:
Yii2 SearchModel中的search()如何工作?
我希望能够过滤一GridView列关系数据.这就是我的意思:
我有两张桌子,TableA和TableB.两者都有使用Gii生成的相应模型.TableA有一个值的外键TableB,如下所示:
TableA
attrA1, attrA2, attrA3, TableB.attrB1
TableB
attrB1, attrB2, attrB3
Run Code Online (Sandbox Code Playgroud)
attrA1和attrB1是其相应表的主键.
现在,我有一个Yii2 GridView的attrA2,attrA3和attrB2.我有一个工作过滤器attrA2,attrA3所以我可以搜索列值.我也对这两个列进行了工作排序 - 只需单击列标题即可.我希望能够添加此过滤和排序attrB2.
我的TableASearch模型看起来像这样:
public function search($params){
$query = TableA::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
if (!($this->load($params) && $this->validate())) {
return $dataProvider;
}
$this->addCondition($query, 'attrA2');
$this->addCondition($query, 'attrA2', true);
$this->addCondition($query, 'attrA3');
$this->addCondition($query, 'attrA3', true);
return $dataProvider;
} …Run Code Online (Sandbox Code Playgroud)