我需要对 yii (CGridView) 中具有 HAS_MANY 关系的列进行排序。任何人都可以帮助我解决这个问题。
这是我的 CGRIDVIEW 专栏:
array(
'name' => 'emp_cat_id',
'type' => 'Raw',
'value' => '$data->getProjectContactClasses($data)',
'htmlOptions' => array('width' => '350'),
),
这是我在模型中获取 ProjectContactClasses 的函数
public function getProjectContactClasses($model)
{
$classes = "";
if (!empty($model->emp_cat_id))
{
$criteria = new CDbCriteria();
$criteria->addInCondition("id", array($model->emp_cat_id));
$model = LaborClassification::model()->findAll($criteria);
if (count($model) > 0)
{
foreach ($model as $row)
{
$classes .= $row->classification . ", ";
}
$classes = substr($classes, 0, -2);
}
}
return $classes;
}
这是关系
'project_contacts' => array(self::HAS_MANY, 'ProjectContact', 'project_id'),
如果有人需要更多解释,请告诉我。