我有一份报告(让我们说报告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);
}
所以我无法弄清楚的是:
$report_data
内有一个名为per_page
的属性,其值为 3 。这是仅拉动前3条记录的原因吗?如果是,我将如何增加该值?在一些R& D之后,我想我发现数据发生变化的原因是因为在CP上,数据是针对仅由登录用户引发的事件而提取的,而来自控制台的数据包括每个人提出的事件。
那么我该如何删除正在添加到报告中的内置过滤器?
答案 0 :(得分:1)
在查看每页属性时,您更有可能获得结果。报表模型和变量窗口小部件都实现该属性。分析报告本身实施分页。因此,报告的默认页面变量设置为3,或者您将其设置在其他位置(无意中可能)。查看更改per_page
过滤器是否有效:
function getData() {
$filters = array('per_page' => 50);
$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);
}
答案 1 :(得分:0)
报告模型中有一行可能正在添加过滤器。尝试删除此行,看看会发生什么。
$searchArgs['search_field' . $index++] = $this->toFilterArray("$contactSessionAlias.c_id", OPER_EQ, " $contactID");