我正在尝试使用laravel 4的TCPDF,当我使用mysql数据填充表时,我收到此错误,当我使用foreach循环失败时,如果我删除它,它工作得很好:
class PrintController extends BaseController {
public function index()
{
return View::make('print.PrintView');
}
public function generatePDF()
{
$notas_detalle = NotaDetalle::all();
$pdf = $pdf = new TCPDF();
$pdf->SetPrintHeader(false);
$pdf->SetPrintFooter(false);
$pdf->AddPage();
$html =
'<table border="1" cellpadding="4" cellspacing="0" align="center">
<thead>
<tr>
<th colspan="4">
<p>Chapincar S.R.L</p>
<p>Agustin Barios Nº 1070 c/ Julio C. Franco - Telefono 674 942 <br/>
Fernando de la Mora - Paraguay</p>
<p></p>
</th>
<th colspan="2">
<p>RUC:80029658-3</p>
<p>NOTA DE PRESUPUESTO</p>
</th>
</tr>
<tr>
<td colspan="6" align="left">Asuncion, 26 de Noviembre de 2014</td>
</tr>
<tr>
<td colspan="6" align="left">Señores: Aseguradora del Este</td>
</tr>
<tr>
<td colspan="6" align="left">Dirección: Gilberto Aranda 231</td>
</tr>
<tr>
<td colspan="2" align="left">Telefono: 021674611</td>
<td colspan="4" align="left">Fecha: 20/12/2014</td>
</tr>
</thead>
<tbody>
<tr>
<td>Cantidad</td>
<td colspan="3">Descripción</td>
<td>Precio con IVA</td>
<td>Precio sin IVA</td>
</tr>';
$html .= '<tr>';
// HERE IT'S THE ERROR
foreach ($notas_detalle as $key => $value) {
$html .= '<td>' . $value->cantidad_detalle . '</td>';
$html .= '<td colspan="3">' . $value->descripcion_detalle . '</td>';
$html .= '<td>' . $value->precioIVA_detalle . '</td>';
$html .= '<td>' . $value->precioSinIVA_detalle . '</td>';
}
// ERROR
$html .= '</tr>';
$html .=
'</tbody>
</table>'
;
$pdf->writeHTML($html, true, false, true, false, '');
//$pdf->Text(90, 140, 'This is a test');
$filename = storage_path() . '/test.pdf';
$pdf->output($filename, 'I');
//return Response::download($filename);
}
}
我做错了什么?请帮忙。
答案 0 :(得分:0)
评论中提供了解决方案。在此处提供以防其他人遇到类似问题:
$html .= '<tr>';
和
$html .= '</tr>';
需要在foreach循环中