Ошибка неопределенной переменной данных из представления в PDF - PullRequest
0 голосов
/ 23 мая 2018

Здравствуйте, я пытаюсь сохранить HTML-страницу в PDF. На этой странице есть некоторые данные, которые я получаю из своей БД. Я много пробовал, но у меня ничего не получалось. Я просто хочу отправить свои данные в это представление, чтобы я мог получитьмой pdf мне не важно показывать или нет

мои маршруты:

Route::get('/confirmation','VerificationsController@afficherconfirmer');
  Route::get('/confirmer','VerificationsController@confirmer');

мои функции:

public function afficherconfirmer(){
    $professor = Auth::user();
    $exams = $professor->exams;
    $verifications = Verification::with('exam')->whereIn('exam_id', $exams->pluck('id') )->where([
    ['confirmation', 'non'],
    ['modifier', 'oui'],
    ])->get();

    return view('confirmations.confirmer',compact('verifications','professor'));

  }
  public function confirmer(){
    $pdf = PDF::loadView('confirmations.confirmer');
    return $pdf->download('confirmation_changement_notes.pdf');
  }

Даже с этим я получаю ошибкунеопределенные переменные

Есть идеи, как я могу вставить данные в мое представление без этого первого маршрута, чтобы я мог получить свой pdf с данными?Могу ли я создать что-то подобное?

public function confirmer(){
    View::composer('confirmations.confirmer', function ($view) {
      $professor = Auth::user();
      $exams = $professor->exams;
      $verifications = Verification::with('exam')->whereIn('exam_id', $exams->pluck('id') )->where([
      ['confirmation', 'non'],
      ['modifier', 'oui'],
      ])->get();
  });
    $pdf = PDF::loadView('confirmations.confirmer');
    return $pdf->download('confirmation_changement_notes.pdf');
  }

  }

1 Ответ

0 голосов
/ 23 мая 2018

Если я предполагаю, что вы хотите вызывать только маршрут подтверждения, тогда

   public function confirmer(){
    $pdf = PDF::loadView('confirmations.confirmer');
    $dataPDF = $pdf->download('confirmation_changement_notes.pdf');
    $this->afficherconfirmer($dataPDF) //Returns the data to the afficherconfirmer
  }

Вы будете передавать данные в afficherconfirmer, $ dataPDF - это мои предполагаемые данные, которые вы передали от подтверждающего ()

public function afficherconfirmer($dataPDF){
    $professor = Auth::user();
    $exams = $professor->exams;
    $verifications = Verification::with('exam')->whereIn('exam_id', $exams->pluck('id') )->where([
    ['confirmation', 'non'],
    ['modifier', 'oui'],
    ])->get();

    return view('confirmations.confirmer',compact('verifications','professor'));

  }

Теперь вы можете вызывать оба контроллера по одному маршруту, вызывая функцию внутри контроллера

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