В моей базе данных около 1500 студентов, и мне нужно сгенерировать счет для каждого. Для этой цели я использую эту библиотеку https://github.com/barryvdh/laravel-snappy. Когда я пытаюсь сгенерировать, я получаю эту ошибку:
Файл '/ var / www/skmpastebimaslt/public_html/storage/checks/24767 Dominykas Butkevičius 1581703819.pdf' не был создан (команда: / usr / local / bin / wkhtmltopdf --lowquality '/ tmp / knp_snappy5e46e28b5d61f2.13362077. html '' / var / www/skmpastebimaslt/public_html/storage/checks/24767 Доминикас Буткевиус 1581703819.pdf ').
https://gyazo.com/3a3f60713601a663a1360cd65fee9914
Счета создаются для четыре пользователя, то приложение вылетает. Самое интересное, что, хотя ошибка говорит о том, что файл не был создан, но он был создан, я могу найти его в своей папке хранения.
Мой код:
public function saveCheckPdf(Student $student, Check $check = null, $fileName = null)
{
if (empty($fileName)) {
$fileName = 'kvitas_' . time() . '.pdf';
}
$path = storage_path('checks/' . $fileName . '.pdf');
$this->renderCheckPdf($student, $check)->save($path);
return $path;
}
private function renderCheckPdf(Student $student, Check $check = null)
{
$bills = $this->billRepository->getCurrentSeasonBills($student->id);
$payments = $this->paymentRepository->getCurrentSeasonPayments($student->id);
$fileName = $student->fullname . ' kvitas';
$billsSum = $bills->sum('sum');
$paymentsSum = $payments->sum('sum');
if (empty($check)) {
$check = !empty($student->checks[0]) ? $student->checks[0] : false;
}
return newPDF::loadView('student.check_pdf', compact('student', 'payments', 'bills', 'billsSum', 'paymentsSum', 'fileName', 'check'));
}
Тогда я просто l oop через каждого пользователя и вызовите метод saveCheckPdf в моем контроллере следующим образом
$this->pdfService->saveCheckPdf($student, null, $student->id . ' ' . $student->fullname . ' ' . time());
Может быть, кто-нибудь сталкивался с такой же проблемой?