2016-07-08 20 views
1

我試圖使用「和」和「或」條件過濾數據。 我想獲得這個MySQL查詢:Strongloop:使用[和]和[或]條件一起過濾數據

SELECT * FROM `data` WHERE ((`property1`=11) OR (`property1`=13)) AND (`property2`=6) 

,我寫的REST API是這樣的:

http://localhost:4000/api/Data/?filter[where][or][0][property1]=11&filter[where][or][1][property1]=13&filter[where][and][0][property2]=6 

環回JSON翻譯似乎是正確的:

{            
    "or": [        
      {        
        "property1": 11  
      },       
      {        
        "property1": 13  
      }        
    ],         
    "and": [        
      {        
        "property2": 6  
      }        
    ]          
} 

但mySql上的翻譯查詢是:

SELECT * FROM `data` WHERE (`property1`=11) OR (`property1`=13) AND (`property2`=6) 

有什麼不對?

+0

您需要封裝'或''入和'。 – Jain

回答

0

正確的過濾器是這樣的:

{  
    "and": [ 
     {        
      "property2": 6  
     } , 
     { 
     "or": [        
      {        
        "property1": 11  
      },       
      {        
        "property1": 13  
      }        
    ] }  
    ]        
} 
+0

謝謝Ebrahim。 json結構很明顯,但我不明白如何從api rest call獲取這個json。 –

+0

@FrancescoDeRosa也許'filter [where] [and] [0] [or] [0] [property1] = 11&filter [where] [and] [0] [or] [1] [property1] = 13&filter [where] [和] [1] [property2] = 6' –