关联表中的 字段在CGridView里面为什么不出现filter的文本框

模型中:

public function rules()

{


	return array(


		array('id, title', 'safe', 'on'=>'search'),


	);


}





public function relations()


{


	return array(


			'cat'=>array(self::BELONGS_TO, 'MyCategories', 'catid'),


			'createdUser'=>array(self::BELONGS_TO, 'User', 'created_by'),	


	);


}





public function attributeLabels()


{


	return array(


			'cat.title'=>'Category',


			'createdUser.name'=>'Created_by',


	);


}





public function search()


{


	$criteria = new CDbCriteria;


	


	


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


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


	$criteria->compare('category', $this->cat->title, true);


	


	


	


	return new CActiveDataProvider('MyContent', array(


		'criteria'=>$criteria,


	));


	


}

视图中:

<?php $this->widget(‘zii.widgets.grid.CGridView’, array(

'dataProvider'=&gt;&#036;model-&gt;search(),


'filter'=&gt;&#036;model,


'columns'=&gt;array(


	'id',


	array(


		'name'=&gt;'title',


		'type'=&gt;'raw',


		'value'=&gt;'CHtml::link(CHtml::encode(&#036;data-&gt;title), '.'array(&quot;/business/article&quot;, &quot;aid&quot;=&gt;&#036;data-&gt;id), array(&quot;target&quot;=&gt;&quot;_blank&quot;)'.')'


	),


	


	array(


		'name'=&gt;'cat.title',


		'type'=&gt;'raw',	


		'visible'=&gt;true,		


		'value'=&gt;'CHtml::link(CHtml::encode(&#036;data-&gt;cat-&gt;title), array(&quot;/business/classify&quot;, &quot;catid&quot;=&gt;&#036;data-&gt;cat-&gt;id), array(&quot;target&quot;=&gt;&quot;_blank&quot;))',


	),


	


	'createdUser.name',


	


	array(


		'name'=&gt;'created',


		'type'=&gt;'datetime',


		'filter'=&gt;false,


	),


	array(


		'class'=&gt;'CButtonColumn',


	),


),

)); ?>

=========

cat.title这个字段怎么让它出现filter过滤文本框?谢谢。。急啊。。。

怎么没人帮我一下啊

此类问题,我现在用的是一个比较笨拙的办法,就是给主表的模型中添加额外的在关系表中的属性。这样一来,关系表的属性也就成了主表的属性,搜索关系表的字段就跟搜索主表的字段一样了。

恩 有道理 我是直接改下yii来实现的。

请问在哪改啊