0

我有一个渲染图表的函数:

function testSave(){
    $this->_renderChart(156);
}

这是我用来测试的。testSave() 函数的视图显示_renderChart(156)调用的内容。但是当我这样做时

function testSave(){
    $this->_renderChart(156);
    $this->_renderChart(153);
}

然后它只显示 $this->_renderChart(153)call 的内容,但不显示$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()只会渲染最后一次出现的图像,并且只保存一个图像而不是两个图像。

4

1 回答 1

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';
}
于 2012-12-29T23:14:55.863 回答