Как распечатать содержимое foreach l oop внутри контроллера? - PullRequest
0 голосов
/ 30 мая 2020

У меня есть эта функция, которая печатает PDF-файл, содержащий извлеченные данные. Я попытался загрузить представление для создания PDF-файла, но это не сработало, поэтому я решил загрузить HTML, который отлично работает. Проблема в том, как я распечатаю содержимое в foreach l oop. Как распечатать значения элементов?

    public function create( Request $request ) {
    $items = DB::table( 'products' )->get();

    $pdf = App::make( 'dompdf.wrapper' );
    $pdf->loadHTML( '<div class="container">
  <div class="row">
      <div class="col-md-8 col-md-offset-2">
          <div class="panel panel-default">
              <div class="panel-heading">Dashboard</div>
              <div class="panel-body">
                  <table class="table">
                      <thead>
                          <th>Product Name</th>
                      </thead>
                      <tbody>
                      foreach ($items as $item=>$key)
                        <tr>
                            <td>$key->name</td>
                        </tr>
                    endforeach
                      </tbody>
                  </table>
              </div>
          </div>
      </div>
  </div>
  </div>
');
return $pdf->stream( 'quote.pdf' );
}

Я получил этот вывод в формате pdf

Dashboard
Product Name$key->name

1 Ответ

1 голос
/ 30 мая 2020

измените это

     $pdf->loadHTML( '<div class="container">
  <div class="row">
      <div class="col-md-8 col-md-offset-2">
          <div class="panel panel-default">
              <div class="panel-heading">Dashboard</div>
              <div class="panel-body">
                  <table class="table">
                      <thead>
                          <th>Product Name</th>
                      </thead>
                      <tbody>
                      foreach ($items as $item=>$key)
                        <tr>
                            <td>$key->name</td>
                        </tr>
                    endforeach
                      </tbody>
                  </table>
              </div>
          </div>
      </div>
  </div>
  </div>
');

на

$html='<div class="container">
<div class="row">
    <div class="col-md-8 col-md-offset-2">
        <div class="panel panel-default">
            <div class="panel-heading">Dashboard</div>
            <div class="panel-body">
                <table class="table">
                    <thead>
                        <th>Product Name</th>
                    </thead>
                    <tbody>';

foreach ($items as $item=>$key) {
    $html.='<tr><td>'.$key->name.'</td></tr>';
}

$html.='  </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
    </div>';

$pdf->loadHTML($html);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...