i have used this king of queries with belongs to relations

here is some sample code…
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'user-transection-grid',
'dataProvider'=>$model->search(),
//'filter'=>$model,
'template' => '{items}{pager}',
'pager'=>array(
'header'=>'',
'htmlOptions'=>array('class'=>'pagination pull-right'),
),
'itemsCssClass' => 'table table-bordered no-filter',
[code]
'columns'=>array(
array(
'name'=>'ut_fk_b_id',
'header'=>'Name',
'value'=>'ucwords($data->utFkB->bFkUd->ud_first_name.\' \'.$data->utFkB->bFkUd->ud_last_name)',
'filter' => false,
'sortable'=>false,
),
array(
'name'=>'ut_date',
'header'=>'Services Taken',
'value'=>'UserTransectionController::service_id($data->utFkB->b_id)',
//'filter' => false,
'sortable'=>false,
),
array(
'name'=>'ut_fk_b_id',
'header'=>'Subscription',
'value'=>'$data->utFkB->bFkWp->wp_name',
'filter' => false,
'sortable'=>false,
),
// array(
// ‘name’=>‘ut_updated_date’,
// ‘header’=>‘Plan’,
// ‘value’=>’$data->utFkB->bFkSp->sp_name’,
// //‘filter’ => false,
// //‘sortable’=>false,
//
// ),
array(
'filter' => false,
'sortable'=>false,
'name'=>'ut_is_enabled',
'header'=>'Status',
'type'=>'raw',
'value'=> function ($data){
if($data->ut_is_enabled==1)
return "<a href='javascript:void(0)' ><img src='".Yii::app()->request->baseUrl."/images/active.png' ></a> ";
else
return "<a href='javascript:void(0)' ><img src='".Yii::app()->request->baseUrl."/images/inactive.png' ></a> ";
}
),
//end here
// array(
// ‘header’=>‘Actions’,
// ‘class’ => ‘CButtonColumn’,
// ‘template’ => ’ {update} ',
// ‘buttons’ => array(
// ‘update’ => array(
// ‘label’ => ‘Edit’,
// ‘url’ =>’$this->grid->controller->createUrl(“update”,array(“id”=>$data->primaryKey, ))’,
// ‘imageUrl’ => false,
// ‘options’ => array(‘class’ => 'btn btn-warning '),
// ),
//
//
// ),
//
// ),
),
)); ?>[/code]