我正在尝试使用select2
过滤yii2 gridview在ModelSearch中我有
->andFilterWhere(['like', 't_persons.functions', $this->functions ])
不幸的是,string(1)匹配10和11
如何从逗号分隔字段中过滤整数值?
答案 0 :(得分:0)
如果您有一串逗号分隔值,我会尝试:
->andFilterWhere('t_persons.functions in ('.$this->functions.')')
答案 1 :(得分:0)
要匹配逗号分隔字段中的单个值,请使用FIND_IN_SET,例如:
SELECT * FROM t_persons WHERE FIND_IN_SET('3', functions);
要将其集成到Yii2中,您可以(如果我正确理解了您的命名法)使用:
->andFilterWhere(new Expression('FIND_IN_SET(:function_to_find, functions)'))->addParams([':function_to_find' => $this->functions])->asArray()->all();