如何在gridview中合并和搜索多个列?

时间:2018-01-30 05:42:22

标签: php yii yii2 yii2-advanced-app

问题:

我合并了5列以显示在一列中,结果看起来像

name.newname.newname2.newname3.5678         

当某个字段为空时,请考虑newname3,它就像

name.newname.newname2.5678

现在我必须实现一个搜索选项,可以搜索如下情况:

1.如果有人选择搜索" newname"作为搜索条件,我们应该根据所有五列的连接字符串的比较得到结果。(name.newname.newname2.5678)。

2.如果有人会搜索" name.new"它应该找到" name.name2"以及

排序工作很好,请帮我查询SQL。

MyCurrent searchmodel看起来像这样:

->andFilterWhere(['ilike', '"storeNames"."variantName"', $this->variantName])
              ->andFilterWhere(['"storeNames"."classId"' => $this->storeClassId])
              ->andFilterWhere(['"storeNames"."familyId"' => $this->storeFamilyId])
              ->andFilterWhere(['"storeNames"."platformId"' => $this->storePlatformId])
             ->andFilterWhere(['ilike', '"storeNames"."subFamilyName"', $this->subFamilyName])

其中列classId,PlatformId,familyId表示映射到名称并显示某些名称的整数。

它是基础模型中的getter函数,

public function getStoreName()
    {
        return $this->hasOne(StoreNames::className(), ['id' => 'storeNameId'])->via('transaction');
    } 

0 个答案:

没有答案