Laravel 5.5 Cossou iReport始终返回null

时间:2018-01-29 05:56:11

标签: php laravel jasper-reports laravel-5.5

我已成功将我的应用与ireport 5.6.0连接。它确实生成了一个pdf文件。我现在唯一的问题是pdf文件只包含一行和空值。

虽然我已经测试了很多,但我甚至直接在报告中打印参数并显示它。我不知道该怎么办了。

当我尝试在iReport中查询时,它给我的价值就像在图像中一样 enter image description here

但是当我在我的代码中传输条件时,它只会给我一个带有null和一行的pdf文件。

$my_where = "where fempidno='0828' and year(fdate)='2017' and month(fdate)='08' limit 30";
        $text = '"' .  $my_where . '"';
        $output = public_path() . '/reports/report1';
        $jasper = new JasperPHP;
        // Compile a JRXML to Jasper
        $jasper->compile(public_path() . '/reports/report1.jrxml')->execute();

        $jasper->process(
            base_path('/public/reports/report1.jasper'),
            false,
            array('pdf'),
            array('title' => $text)
        )->execute();

我也在iReport中替换它以便

SELECT * FROM dtr $P!{title}

结果将仅为一行时仍为null。 : - (

1 个答案:

答案 0 :(得分:1)

看起来你没有传递连接或使用了错误的连接字符串。

您可以像此样本一样传递连接:

JasperPHP::process(
    base_path('/public/reports/report1.jasper'),
    false,
    array('pdf'),
    array('title' => $text),
    array(
      'driver' => 'postgres',
      'username' => 'username',
      'host' => 'localhost',
      'database' => 'mydb',
      'port' => '5433',
    )
  )->execute();

或者像这样:

JasperPHP::process(
    base_path('/public/reports/report1.jasper'), 
    false,
    array('pdf'),
    array('title' => $text),
    \Config::get('database.connections.mysql')
)->execute();

有关使用 JasperPHP 的更多信息,请访问here