我想要一个视图来调用2个不同的模型。
Controller.php这样
class StatsController extends JController {
function display()
{
if( !JRequest::getVar( 'view' ) ) {
JRequest::setVar('view', 'stats' );
}
parent::display();
}
...
...
}
统计信息查看:(index.php?option = com_stats& view = stats)
class StatsViewStats extends JView
{
function display($tpl = null)
{
$model_helpdesk = & JModel::getInstance('Helpdesk','StatsModel');
//$model_chart = & JModel::getInstance('Chart','StatsModel');
//$model_chart = &$this->getModel('Chart');
var_dump($model_chart);
...
...
parent::display($tpl);
}
}
问题:获取帮助台模型工作正常,但获取图表模型要么返回空白页面,要么在 var_dump 中返回null。如何使用第二个模型(不修改控制器)??
答案 0 :(得分:3)
在您的控制器中,您需要执行以下操作:
$view = &$this->getView('Stats', 'html');
$view->setModel($this->getModel('Stats'), true);
$view->setModel($this->getModel('Chart'));
$view->setModel($this->getModel('Helpdesk'));
$view->display();
然后您可以使用以下方法访问每个模型:
$chartModel = $this->getModel('Chart');
$helpdeskModel = $this->getModel('Helpdesk');