我有一个呈现图表的功能:
function testSave(){
$this->_renderChart(156);
}
这是我用来测试的。 testSave()函数的视图显示_renderChart(156)
调用的内容。但是当我做的时候
function testSave(){
$this->_renderChart(156);
$this->_renderChart(153);
}
然后它只显示$this->_renderChart(153)
来电的内容,但不会显示$this->_renderChart(156)
的内容。
_renderChart($chart_id)
函数说明了:
function _renderChart($chart_id = null){
if($chart_id == null)
return false;
//some magic...
$this->layout = 'dummyfolder\dummy_layout_name';
}
在_renderChart函数的视图中,我有一个javascript代码,它是由ajax在服务器上将图表的图像保存为.png
。但是在调用两次$this->renderChart()
的情况下,只渲染它的最后一次出现,只保存一个图像而不是两个。
答案 0 :(得分:0)
嗯,也许是因为你正在连续调用'this'的功能。那么这意味着$ this始终是最后一次调用。如何将调用初始化为变量然后返回变量。像这样:
$var1 = $this->_renderChart(156);
$var2 = $this->_renderChart(153);
return array($var1, $var2);
编辑:
$array = array("156", "153");
$this->_renderChart($array);
然后是这样的:
function _renderChart($chart_id = null){
if($chart_id == null)
return false;
foreach($chart_id as $key => $value) {
//some magic...
}
$this->layout = 'dummyfolder\dummy_layout_name';
}