Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用REST样式语法在环回中形成复杂的Where过滤器_Rest_Conditional Statements_Loopbackjs - Fatal编程技术网

如何使用REST样式语法在环回中形成复杂的Where过滤器

如何使用REST样式语法在环回中形成复杂的Where过滤器,rest,conditional-statements,loopbackjs,Rest,Conditional Statements,Loopbackjs,为了保持一致性,我们需要在调用环回API时使用RESTURL样式的语法(而不是JSON样式的语法)。然而,我们很难构建包含“and”和“and”或“or”运算符的复杂“where”过滤器。似乎没有将混合条件逻辑分组的方法。例如,我们如何使用REST语法创建此SQL语句的等效语句: SELECT * FROM Customer WHERE (type='retail' OR type='nonprofit') AND terms='monthly' 例如,这不起作用: /api/customer

为了保持一致性,我们需要在调用环回API时使用RESTURL样式的语法(而不是JSON样式的语法)。然而,我们很难构建包含“and”和“and”或“or”运算符的复杂“where”过滤器。似乎没有将混合条件逻辑分组的方法。例如,我们如何使用REST语法创建此SQL语句的等效语句:

SELECT * FROM Customer WHERE (type='retail' OR type='nonprofit') AND terms='monthly'
例如,这不起作用:

/api/customer?filter[where][or][0][type]=retail&filter[where][or][1][type]=nonprofit&filter[where][and][2][terms]=monthly

试试这样的方法:

   /api/customer?filter={
   "where": {
       "or": [ 
           {"type":"retail"}, 
           {"type":"nonprofit"},
           "and": [{"terms":"monthly}]
           ]
       } 
   }

看一看“更复杂的例子”

我正试图解决一个类似的问题。看起来您非常接近,但我相信
实际上是最高级别的比较,您编写查询时就好像
是。所以也许

/api/customer?filter[where][and][0][or][0][type]=retail&filter[where][and][0][or][1][type]=nonprofit&filter[where][and][1][terms]=monthly
但我无法确认这一点,因为我没有一个可以测试它的运行的本地环境。让我们知道它是否有效。谢谢


更新:看起来这个问题已经得到了回答。BLUF,在环回中是不可能的。使用stringified JSON选项。

您找到答案了吗?在同样的事情上有困难。我猜一定是那个?他们只是忽视了这件事。