我想使用2个模型将数据导出到Excel。 HasilPutusan model and DetilSaksi model.
当我使用模型 HasilPutusan 的CActiveDataProvider时,我设法将所有数据与与此HasilPutusan模型相关的数据关系一起获取。
如何使用模型 DetilSaksi 组合数据?
我的控制器:
public function actionCetakjalanperistiwa()
{
if(isset($_POST['PrintJaper'])){
$data = $_POST['id_kecelakaan'];
if($data==''){
return false;
}else{
$dataProvider=new CActiveDataProvider('HasilPutusan', array(
'criteria'=>array(
'condition'=>'id_kecelakaan=:id',
'params'=>array(':id'=>$data),
),
));
}
$this->widget('ext.EExcelView', array(
'grid_mode'=>'export',
'title' => 'Data Jalan Peristiwa',
'dataProvider' => $dataProvider,
'exportType'=>'Excel2007',
'columns'=>array(
'id_hasil_putusan',
'id_detil',
'id_kapal',
'idKapal.nama_kapal',
'idKapal.tahun_pembuatan',
'idKapal.konstruksi',
'idKapal.isi_kotor',
'idKapal.tenaga_penggerak_utama',
'idKapal.pemilik',
'idKapal.nakhoda',
'idKapal.awak_kapal',
'idKapal.surat_kapal',
),
));
}else{
$this->render('_japer');
}
}
在我的tbl_hasil_putusan表中,我有一个 id_detil 字段,我将用它来使用DetilSaksi模型对第二个表重新执行查询。
我的数据库:
如何组合可以连接的两个表,以便我可以在第二个表中调用相关的(蓝色箭头)数据?
由于
答案 0 :(得分:2)
您可以在条件数组中使用join。像这样:
$dataProvider=new CActiveDataProvider('HasilPutusan', array(
'criteria'=>array(
'condition'=>'id_kecelakaan=:id',
'select' => 't.*, ds.*'
'join' => 'LEFT JOIN tbl_detil_saksi ds on ds.id_detil = t.id_detil',
'params'=>array(
':id'=>$data),
),
));