问题:
我合并了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');
}