有时候想在griedview里边对关联表字段进行排序,需要这么处理
比如我在事物提醒模块里边,关联到事务主表,对主表的字段时行排序,作如下处理
MODEL里边 // body是relation 里边定义与主表的关联名称
public function unread(){
$sort=new CSort();
$sort->attributes=array(
'from_id'=>array(
'asc'=>'body.from_id',
'desc'=>'body.from_id desc',
),
);
$criteria=new CDbCriteria();
$criteria->with='body'; //relation 里边定义与主表的关联名称
return new CActiveDataProvider($this,array(
'criteria'=>$criteria,
'sort'=>$sort,
'pagination'=>array(
'pageSize'=> TPageUtil::pageSize('notification'),
),
));
}
VIEW里边
$columns=array(
array(
'name'=>'from_id',
'header'=>'发送人',
'value'=>'$data->body->from_id',
),
);