У меня есть сайт, использующий Laravel 5.0.35, который я унаследовал, который имеет две функции, активную и неактивную, которая читает базу данных людей и просматривает поле состояния для создания PDF-документа.
Активная функция работает, а неактивная — нет. Выдает следующую ошибку:
FileNotFoundException в строке File.php 41:
Файл «… / laravel / app / PDFs / индивидуальный / неактивный-участники.1544562943.pdf» не существует
в строке File.php 41в Файл -> ___ конструкция (‘… / laravel / app / PDFs / Individual / inactive-members.1544562943.pdf’) в строке BinaryFileResponse.php 91
в BinaryFileResponse-> setFile (‘… / laravel / app / PDFs / индивидуальный / неактивный-участники.1544562943.pdf’, ‘attachment’, false, true) в строке 50 BinaryFileResponse.php 50
в BinaryFileResponse -> ___ конструкция (‘… / laravel / app / PDFs / индивидуальный / неактивный-участники.1544562943.pdf’, ‘200’, array (), true, ‘attachment) в строке -ResponseFactory.php 129
в ResponseFactory-> скачать (‘… / laravel / app / PDFs / индивидуальный / неактивный-участники.1544562943.pdf’) в строке ReportsController.php 200
Функция выглядит так:
public function gInctve(Request $request)
{
$tokenName = $request->get('tokenName');
Cookie::queue($tokenName, $tokenName, 1, null, null, false, false);
$fullPaths = [];
$time = time();
People::with('upple', 'plans.share')
->with(['plans' => function($query) {
$query->join('shares', 'plans.share_id', '=', 'shares.id')-
>orderBy('shares.year', 'asc');
}])
->has('plans')
->orderBy('Peoples.People_no', 'asc')
->where('Peoples.vesting_percentage', '>', 0)
->chunk(200, function($Peoples) use(&$fullPaths, $time){
foreach ($Peoples as $People) {
if (is_null($People->upple)) continue;
if ($People->upple->STATUS == 1 or $People->plans-
>sum('shares') <=0) continue;
$fileName = (trim($People->ssn) . '.' . $time . '.pdf');
$this->PeopleReportGenerator->generate($People, $fileName);
$fullPaths[] = config('esop.individual_statements_dir') .
$fileName;
}
});
$mergedPdfFullPath = config('esop.individual_statements_dir') .
'inactive-participants.' . $time . '.pdf';
passthru('cpdf ' . implode(' ', $fullPaths) . ' -o ' .
$mergedPdfFullPath);
return response()->download($mergedPdfFullPath);
}
Если я изменю if ($People->upple->STATUS == 1
соответствовать активной функции, if ($People->upple->STATUS != 1
это работает как активная функция должна. Я пытался изменить строку, чтобы быть ===
а также != 3
(Поле состояния имеет значение 1 или 3).
Задача ещё не решена.
Других решений пока нет …