gpt4 book ai didi

php - 使用 MySQL 进行 Laravel 5 服务 API 查询

转载 作者:行者123 更新时间:2023-11-29 22:10:12 25 4
gpt4 key购买 nike

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

这是我当前的查询:

  public function show($fructose,$lactose,$polyols,$fructan )
{
$FodMaps = FodMap::where('fructose','=',$fructose)->
where('lactose','=',$lactose)->
where('polyols','=',$polyols)->
where('fructan','=',$fructan)->
get();
return $FodMaps;
}

我的服务网址是:

/api/service/lactose=high/fructose=high/polyols=high/fructan=high

它应该包含高值和低值。但有时它带有值“none”,例如:

/api/service/lactose=high/fructose=high/polyols=none/fructan=none

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

例如:如果 URL 带有如下值:

/api/service/lactose=high/fructose=high/polyols=high/fructan=high

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

但是如果它带有这个:

/api/service/lactose=high/fructose=high/polyols=none/fructan=none

它只会搜索乳糖、果糖和多元醇列,并给出结果,无需检查果聚糖列的值。

最佳答案

使用函数检查变量

$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();

关于php - 使用 MySQL 进行 Laravel 5 服务 API 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31752700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com