在我的Laravel控制器中,它一直说这样的错误。
[2019-10-29 11:13:57]本地。错误:未定义的变量:target_date
{“ userId”:2,“ exception”:“ [object](ErrorException(code:0):未定义的变量:target_date at
/home/ljw/public_html/byappscms/app/Http/Controllers/ChartController.php:78)
但是,在我的控制器文件中,变量EXIST。
ChartController.php
public function onGetAppDailyChartData(Request $request)
{
info("~~~~~~~~~~~" . $request->date);
$target_date = strtotime($request->date);
info("~~~~~~~~~~~" . $target_date);
$appsTotal = AppsData::where('app_process', '=', '7')
->where(function ($query) {
$query->where('service_type', '=', 'lite')
->orWhere('end_time', '>', $target_date);
})
->count();
}
然后我检查了日志,这些值打印得很好。 他们打印了日期和UNIX时间戳。
什么可能导致此错误?
答案 0 :(得分:4)
该变量不在闭包函数的范围内,请配合使用
$appsTotal = AppsData::where('app_process', '=', '7')
->where(function($query) use ($target_date) { // <--- Here
$query->where('service_type', '=', 'lite')
->orWhere('end_time', '>', $target_date);
})
->count();
希望这会有所帮助