Php 在使用Yii CActiveDataProvider时如何将2个模型与关系连接起来
我想使用2个模型将数据导出到excel<代码>HasilPutusan模型和DetilSaksi模型。 当我将CActiveDataProvider与模型HasilPutusan一起使用时,我成功地获得了所有数据以及与该HasilPutusan模型相关的数据关系 如何使用ModelDetilSaksi组合数据 我的控制器:Php 在使用Yii CActiveDataProvider时如何将2个模型与关系连接起来,php,mysql,yii,Php,Mysql,Yii,我想使用2个模型将数据导出到excelHasilPutusan模型和DetilSaksi模型。 当我将CActiveDataProvider与模型HasilPutusan一起使用时,我成功地获得了所有数据以及与该HasilPutusan模型相关的数据关系 如何使用ModelDetilSaksi组合数据 我的控制器: public function actionCetakjalanperistiwa() { if(isset($_POST['PrintJaper'])){
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模型重新查询第二个表
我的数据库:
如何组合可以联接的两个表,以便调用第二个表中的相关(蓝色箭头)数据
谢谢您可以在条件数组中使用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),
),
));
您是否拥有HasilPutusan模型的relations方法中指定的与DetilSaksi的关系?否。我将使用query检查相同的数据…但如何在'columns'=>数组中获得
id\u-saksi
数据?请尝试重新启用*列选择器,并使用列别名,例如,'select'=>'ds.id\u-saksi作为我的id\u-saksi*'