如何在完成数据插入后获取,执行直接应用程序会根据刚刚输入的数据自动生成报告?
我的控制器(保存):
public function actionCreate()
{
$model=new PurchaseOrder;
if(isset($_POST['PurchaseOrder']))
{
$model->attributes=$_POST['PurchaseOrder'];
if($model->save())
$this->redirect('index');
}
$this->render('create',array(
'model'=>$model,
));
}
我的控制器(生成报告):
public function actionCetak()
{
if(isset($_POST['PrintPO'])){
$data = $_POST['no_po'];
if($data==''){
return false;
}else{
$HTML2PDF = Yii::app()->ePdf->HTML2PDF();
$HTML2PDF->WriteHTML($this->renderPartial('data_print', array(
'data' => $this->loadCetak($data)
), true));
$HTML2PDF->Output();
}
}else{
$this->render('form_cetak_po');
}
}
这两个函数运行顺利,但当我combining
进入:
public function actionCreate()
{
$model=new PurchaseOrder;
if(isset($_POST['PurchaseOrder']))
{
$model->attributes=$_POST['PurchaseOrder'];
if($model->save())
$HTML2PDF = Yii::app()->ePdf->HTML2PDF();
$HTML2PDF->WriteHTML($this->renderPartial('data_print', array(
'data' => $this->loadCetak($model->id)
), true));
$HTML2PDF->Output();
$this->redirect('index');
}
$this->render('create',array(
'model'=>$model,
));
}
应用程序只执行插入功能。如何在完成插入后订购,直接akang应用程序及其生成的数据可以下载。
由于
答案 0 :(得分:0)
您在if(save())
看看这个:
if(isset($_POST['PurchaseOrder']))
{
$model->attributes=$_POST['PurchaseOrder'];
if($model->save())
{ // <-- add this
$HTML2PDF = Yii::app()->ePdf->HTML2PDF();
$HTML2PDF->WriteHTML($this->renderPartial('data_print', array(
'data' => $this->loadCetak($data)
), true));
$HTML2PDF->Output();
} //<-- add this
else
{
$this->redirect('index');
}
}
答案 1 :(得分:0)
我认为不能这样做。
流行下载网站的常见之处是反过来:首先你去“之后”页面然后开始下载。
你可以这样做:
保存后,重定向到这样的东西
index.php?r=controller/index&file_info=information
并在索引方法中,选中if ($_GET['file_info'])
,然后创建您的pdf文件并进行下载。