Yii relation through search

I have the following tables.

User:


---------


id


firstName





Project:


---------


id


Name





StaffingManager


---------------


id


User_id(FK)


Total_Staff





StaffingProjectMonth


-----------------------


id


Project_id(FK)


StaffingManager_id(FK)

I want to define the relations in StaffingProjectMonth model

This is the default relation defined by YII using gii

public function relations()


	{


		return array(


			'project' => array(self::BELONGS_TO, 'Project', 'Project_id'),


			'staffingManager' => array(self::BELONGS_TO, 'StaffingManager', 'StaffingManager_id'),


		);


	}

I was able to get the ProjectName and search by ProjectName.

I want to get the UserfirstName and search by that.

I defined the relation this way.

return array(


			'project' => array(self::BELONGS_TO, 'Project', 'Project_id'),


			


			'staffingmanager' => array(self::BELONGS_TO, 'StaffingManager', 'StaffingManager_id'),


			


			'user'=> array(self::HAS_MANY,'User',array('User_id'=>'id'),'through'=>'staffingmanager' ),


		);

and in search method I did this:

$criteria->with = array('project','user');


//$criteria->compare('id',$this->id);


$criteria->compare('Name',$this->Project_id,true);


$criteria->compare('firstName',$this->StaffingManager_id,true);

and in the view:

$this->widget('zii.widgets.grid.CGridView', array(


	'id'=>'staffing-project-month-grid',


	'dataProvider'=>$model->search(),


	'filter'=>$model,


	'columns'=>array(		


	//	'id',		


		array('name'=>'Project_id','header'=>'Project','value'=>'$data->project->Name',),


		array('name'=>'StaffingManager_id','header'=>'User','value'=>'$data->staffingmanager->user->firstName',),


		..............	

only the search by project name works. Able to sess the UserfirstName but unable to search by the firstName. Some wrong in defining relations.

Any help is appreciated. Thanks.

Well I guess this wiki should help: Searching and sorting by related model in CGridView