我搜索了很多关于这一点但没有结果。很抱歉,如果它重复但我在laravel 5.2中使用JasperPHP时遇到问题,我需要帮助。
我正在尝试生成一个报告(很明显),我正在使用一个带有foreach的方法来获取报告列表。
$results = $this->PessoaRepository->all();
$nomeCompleto = '';
$cpf = '';
foreach($results as $pessoa){
$nomeCompleto = $pessoa['nome_completo'];
$cpf = $pessoa['cpf'];
}
$jasper = new JasperPHP();
$jasper->process(
app_path() . "/Domains/Pessoas/Reports/Pessoa/Pessoas.jrxml",
false,
array('pdf', 'rtf', 'xls', 'xlsx', 'docx', 'odt', 'ods', 'pptx', 'csv', 'html', 'xhtml', 'xml', 'jrprint'),
array('nome_completo' => $nomeCompleto, 'cpf' => $cpf)
**strong text**)->execute();
当我调用此方法时,一切正常,它会生成文件,但foreach只返回最后的结果。我怎么能解决它或将列表传递给jasperPHP生成它?
答案 0 :(得分:2)
您正在覆盖该值。
也许这对你有用,或尝试不同的东西,使用数组或其他东西。
$results = $this->PessoaRepository->all();
$nomeCompleto = '';
$cpf = '';
foreach($results as $pessoa){
$nomeCompleto .= $pessoa['nome_completo'].' '; // not overwrite the var
$cpf .= $pessoa['cpf'].' ';
}
$jasper = new JasperPHP();
$jasper->process(
app_path() . "/Domains/Pessoas/Reports/Pessoa/Pessoas.jrxml",
false,
array('pdf', 'rtf', 'xls', 'xlsx', 'docx', 'odt', 'ods', 'pptx', 'csv', 'html', 'xhtml', 'xml', 'jrprint'),
array('nome_completo' => $nomeCompleto, 'cpf' => $cpf)
**strong text**)->execute();