2017-04-07 44 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條件沒有多個查詢執行?

回答