2 回答
TA贡献1891条经验 获得超3个赞
我认为您在查询中犯了一个错误。将以下行替换为这些行:
if($Caller_number!=null){
$querypart[] = "caller_number = '$Caller_number'";
}
if($Callee_number!=null){
$querypart[] = "callee_number = '$Callee_number'";
}
$Caller_number(请注意&上的单引号$Callee_number)。
另外,使用该whereRaw()方法而不是where()按照响应评论中建议的方法。
TA贡献1811条经验 获得超6个赞
我添加了一个答案,建议一种通过使用 Laravel 集合方法消除所有条件来简化代码的方法if。
$query = Tbcdrnew::query(); //start a query string based on Tbcdrnew model OR you could do DB::table('cdrnew');
collect($paramArray)->filter(function($value, $key){ //convert paramArray into a collection
return $value != ''; //filter all null and empty values
})->each(function($value, $key) use ($query){ //iterate through all filtered values
$query->where(strtolower($key), $value); //assuming array key is always column key in lowercase
});
$result = $query->groupBy('uniqueid')->orderBy('start_date','desc')->get();
我不确定$query->MIN您的原始查询中是否有有效的查询生成器函数。
- 2 回答
- 0 关注
- 104 浏览
添加回答
举报