Ошибка контроллера Laravel: неопределенная переменная - PullRequest
1 голос
/ 29 октября 2019

В моем контроллере Laravel он постоянно выдает ошибку вроде этого.

[2019-10-29 11:13:57] local.ERROR: неопределенная переменная: target_date

{"userId": 2, "exception": "[object] (ErrorException (код: 0): неопределенная переменная: target_date в

/ 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.

Что может быть причиной этой ошибки здесь?

1 Ответ

4 голосов
/ 29 октября 2019

Переменная выходит за рамки функций замыкания, введите ее с использованием

$appsTotal = AppsData::where('app_process', '=', '7')
                    ->where(function($query) use ($target_date) { // <--- Here
                      $query->where('service_type', '=', 'lite')
                            ->orWhere('end_time', '>', $target_date);
                    })
                    ->count();

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...