Yii2 我可以使用andFilterWhere([])搜索以开头的所有值吗?

Yii2 我可以使用andFilterWhere([])搜索以开头的所有值吗?,yii2,Yii2,我正在使用yii2框架和GridView,只是在学习yii2 我可以使用andFilterWhere([])搜索以开头的所有值吗?一个类似于SQL的特定值,您可以在其中使用zip%,或者是否有更好的函数可供使用 我想在数据库中搜索以我输入的数字开头的zipcode 我最初使用 ->andFilterWhere(['like', 'zip', $this->zip]) 但这会搜索任何可能的组合 在以下位置尝试并筛选:- ->andFilterWhere(['like', 'zi

我正在使用yii2框架和GridView,只是在学习yii2

我可以使用andFilterWhere([])搜索以开头的所有值吗?一个类似于SQL的特定值,您可以在其中使用zip%,或者是否有更好的函数可供使用

我想在数据库中搜索以我输入的数字开头的zipcode

我最初使用

->andFilterWhere(['like', 'zip', $this->zip])

但这会搜索任何可能的组合

在以下位置尝试并筛选:-

->andFilterWhere(['like', 'zip', $this->zip.'%' ,false]);

它将在类似zipcode%的地方创建查询

在以下位置尝试并筛选:-

->andFilterWhere(['like', 'zip', $this->zip.'%' ,false]);

它将在类似zipcode%的地方创建查询
是的,您可以。通过将
false
作为第4个数组元素传递,可以这样做:

['like', 'zip', 'zip%', false],
或者,如果它取决于模型属性值:

['like', 'zip', $this->zip . '%', false],
请阅读更多关于查询的building where部分,这里有一个关于此案例的示例:

类似
:操作数1应为列或DB表达式,而操作数2应为 是一个字符串或数组,表示列或DB所包含的值 表情应该是这样的。例如,
['like','name','tester']
将生成类似“%tester%”的
名称
。当值范围给定为 将生成并连接一个数组、多个类似谓词 使用
。例如,
['like','name',['test','sample']
将 生成名称
如“%test%”和名称如“%sample%”
。方法 将正确引用列名并转义中的特殊字符 价值观。有时,您可能需要添加百分比字符 您可以自己为匹配值提供第三个操作数 这样做是错误的。例如,
['like','name','%tester',false]
将 生成类似“%tester”的
名称


是的,你可以。通过将
false
作为第4个数组元素传递,可以这样做:

['like', 'zip', 'zip%', false],
或者,如果它取决于模型属性值:

['like', 'zip', $this->zip . '%', false],
请阅读更多关于查询的building where部分,这里有一个关于此案例的示例:

类似
:操作数1应为列或DB表达式,而操作数2应为 是一个字符串或数组,表示列或DB所包含的值 表情应该是这样的。例如,
['like','name','tester']
将生成类似“%tester%”的
名称
。当值范围给定为 将生成并连接一个数组、多个类似谓词 使用
。例如,
['like','name',['test','sample']
将 生成名称
如“%test%”和名称如“%sample%”
。方法 将正确引用列名并转义中的特殊字符 价值观。有时,您可能需要添加百分比字符 您可以自己为匹配值提供第三个操作数 这样做是错误的。例如,
['like','name','%tester',false]
将 生成类似“%tester”的
名称