我目前正在尝试通过模型使用 Laravel 控制器从数据库获取数据Maintain。有没有办法根据前端 axios post 发出的请求数据查询数据库,这包括变量 sub 和 zone,我有能够使用 sub 或 zone 但不能同时使用两者来获取数据,有没有办法构建多 where 查询 if $request包含必要的变量和标准请求,如果它们是 null 或 ""?
public function all(Request $request){
$query = [];
if($request->sub != ""){
array_push($query, ['subsystem', '=', $request->sub]);
}
if($request->zone != ""){
array_push($query, ['zone', '=', $request->zone]);
}
if(count($query) > 0){
return Maintain::all()->where($query);
}
else{
return Maintain::all();
}
}
当前返回错误ErrorException: array_key_exists(): The first argument should be either a string or an integer in file,但我一直在使用 Laravel 参考,但它似乎不起作用。我使用 Postman 获取 $query 的读数,它包含以下内容:
[
['sub', '=', 'Subsystem 1'],
['zone', '=', 'Zone 1']
]
任何帮助,将不胜感激。
慕工程0101907