2015-01-21 20 views
0

我的代码用于连接两个表并显示空值。如何将这些sql代码转换为yii

请把这些代码转换为Yii的格式左外

我的SQL代码加入

SELECT * 
FROM tbl_pms_project LEFT OUTER JOIN tbl_pms_percentage 
ON tbl_pms_project.intProjectId = tbl_pms_percentage.intProjectId; 

转换到警予格式。 请帮助我。 试着解决这个问题。

+0

用于该用途的关系。 – Justinas 2015-01-21 06:14:39

回答

0

它放在你的项目模型

class Project extends CActiveRecord 
{ 
...... 
public function relations() 
{ 
    return array(
     'percentage'=>array(self::HAS_ONE, 'Percentage', array('intProjectId' => 'intProjectId')), 
    ); 
} 
} 
0

您可以joinType指定的关系连接类型如下图所示:

return array(
    'project'=>array(self::BELONGS_TO,'tbl_pms_project',array('intProjectId'=>'intProjectId'),'joinType'=>'LEFT OUTER JOIN' 
), 
); 

$criteria = new CDbCriteria; 
$criteria->with = array('project'); 
0

您可以使用关系Yii中实现您的要求。更多详情Relational Active Record

你在“tbl_pms_project”模型的表,你应该定义一个关系到tbl_pms_percentage如下

class Project extends CActiveRecord 
{ 
    ...... 
    public function relations() 
    { 
     return array(
      'percentage'=>array(self::HAS_ONE, 'Percentage', array('intProjectId' => 'intProjectId')), 
     ); 
    } 
} 

然后当你永远需要像下面给出的数据,你可以使用这个关系。

$project = Project::model()->findByPk(1); 
$project->percentage;