yii cdbcriteria多表关联查询只有一个表字段的解决方法

源码

$condition = "t.status=1 and t.end_time>=CURDATE() $where ";
$criteria = new CDbCriteria;
$criteria->join = "inner join zxjy_auth as a on t.userId = a.userId";
$criteria->select = "a.*";
$criteria->condition=$condition;	
$criteria->with = 'p_author';	//在这里指定关联表关系 对应到该Model类里面
$criteria->order ="t.id desc";


 //分页开始
$total = Project::model()->count($criteria);
$pages = new CPagination($total);
$pages->pageSize=20;	//分页大小
$pages->applyLimit($criteria);
$proreg = Project::model()->findAll($criteria);

其中Project Model类

public function relations()
{
		return array(
			'p_author'=>array(self::BELONGS_TO, 'Auth', ['userId'=>'userId']),  	//对应Auth Model类
		);
}

Auth Model类

public function relations()
{
		return array(
			'a_author'=>array(self::BELONGS_TO, 'Auth', 'userId'),  
		);	
}

在模板里调用Auth表的字段 companyName为Auth表字段

<?=$val->p_author->companyName;?>