我有一个通过控制台生成的报告(假设报告 ID 是 101010),它打印出以下结果:
+----------+-----+
| Category | NoI |
+----------+-----+
| C | 102 |
| A | 98 |
| E | 90 |
| D | 74 |
| B | 60 |
+----------+-----+
当我尝试通过小部件的控制器在 CP 页面上使用相同的报告 ID 时,我得到以下结果:
+----------+-----+
| Category | NoI |
+----------+-----+
| D | 32 |
| A | 25 |
| B | 6 |
+----------+-----+
这是我的小部件控制器的代码:
function getData() {
$filters = array();
$format = array();
$report_id = $this->data['attrs']['report_id'];
echo $report_id; // this is printing 101010
$reportToken = \RightNow\Utils\Framework::createToken($report_id);
$report_data = $this->CI->model('Report')->getDataHTML(
$report_id, $reportToken, $filters, $format
);
print_r($report_data);
}
所以我无法弄清楚的是:
- 为什么数据有差异?
- 为什么通过 CP 小部件控制器只提取 3 个类别(而不是 5 个)?
- 我注意到的一件事是里面有一个
$report_data
名为 as的属性per_page
,它的值为3。这是只提取前 3 条记录的原因吗?如果是,我将如何增加该值?
- 我注意到的一件事是里面有一个
更新
经过一番研发,我想我发现数据发生变化的原因是因为在CP上,仅针对登录用户提出的事件拉取数据,而来自控制台的数据包括每个人提出的事件。
那么如何删除添加到报告中的内置过滤器呢?