首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MySQL的Laravel 5服务API查询

使用MySQL的Laravel 5服务API查询
EN

Stack Overflow用户
提问于 2015-08-01 02:22:35
回答 1查看 102关注 0票数 0

我想创建使用数据库搜索数据的服务API。

这是我当前的查询:

代码语言:javascript
复制
  public function show($fructose,$lactose,$polyols,$fructan )
    {
        $FodMaps = FodMap::where('fructose','=',$fructose)->
        where('lactose','=',$lactose)->
        where('polyols','=',$polyols)->
        where('fructan','=',$fructan)->
        get();
        return $FodMaps;
    }

我的服务URL是:

代码语言:javascript
复制
/api/service/lactose=high/fructose=high/polyols=high/fructan=high

它应该包含高和低的as值。但有时它的值是"none“,比如:

代码语言:javascript
复制
/api/service/lactose=high/fructose=high/polyols=none/fructan=none

我想要的是,如果它包含任何"none“值,则从查询中转义该项目并执行搜索。因为当前查询搜索所有4个值。

例如:如果URL的值如下所示:

代码语言:javascript
复制
/api/service/lactose=high/fructose=high/polyols=high/fructan=high

它将检查匹配所有4个项目的结果。

但如果是这样的话:

代码语言:javascript
复制
/api/service/lactose=high/fructose=high/polyols=none/fructan=none

它将只搜索乳糖,果糖和多聚糖柱,并给出结果,不需要检查果糖柱的值。

EN

回答 1

Stack Overflow用户

发布于 2015-08-01 02:52:13

使用函数检查变量

代码语言:javascript
复制
$FodMaps = FodMap::where(function($query) use($fructose,$lactose,$polyols,$fructan){
   if($fructose != 'none'){
     $query->where('fructose','=',$fructose);
   }
   if($lactose != 'none'){
     $query->where('lactose','=',$lactose);
   }
   if($polyols != 'none'){
     $query->where('polyols','=',$polyols);
   }
   if($fructan != 'none'){
     $query->where('fructan','=',$fructan);
   }
})
->get();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31752700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档