2017-04-07 62 views
1

我有一个字符串字段,其中包含我的表中的json字符串。让那tbl_tableYii2 - 活动记录查询搜索字符串字段中的数字

名字可以说,它有以下3条记录它:

id json 
---------------- 
1  [123,45,1] 
2  [23,4,5] 
3  [7,8,9] 

现在我想获取包含在他们的JSON领域的一些记录(在Yii2使用活动记录),因此:

$res = Table::find()->where(['like','json','23'])->all(); 

该查询返回这些记录:

id json 
---------------- 
1  [123,45,1] 
2  [23,4,5] 

这实际上不是一个错误的结果,但我想要的只是返回id=2的记录。我怎样才能做到这一点?

等等用于['like','json','5']['like','json','4']等等?数字是相似的,但我想要确切的数字匹配。

和另一个问题,我想最后一个问题的答案在这部分['like','json',[4,5,6]]的变化。 换句话说,我想将一个数组传递给喜欢运算符,并且它会自动对每个元素进行OR操作。它有可能吗?如果没有,我怎么能迭代阵列和使用最后一个问题功能多个Or_like条件没有多个查询执行?

回答