Yii CGridView数据popoulating在模型中使用搜索

时间:2011-10-12 12:18:35

标签: model yii

在我的项目中,我使用cgridview显示与用户对应的记录。将我正在使用的模型命名为SupplierResponseMaster。这个模型与另一个模型有关系 名为AccountsCorporate,关系为'corporate' => array(self::BELONGS_TO, 'AccountsCorporate', 'corporate_id'),。搜索功能是

public function search()
    {
        $criteria = new CDbCriteria;

        $criteria->compare('id', $this->id, true);
        $criteria->compare('survey_id', $this->survey_id, true);
        $criteria->compare('corporate_id', $this->corporate_id, true);
        $criteria->compare('user_id', $this->user_id, true);
        $criteria->compare('status', $this->status, true);
        $criteria->compare('common_notes', $this->common_notes, true);
        $criteria->compare('system_rank', $this->system_rank, true);
        $criteria->compare('request_coordinator_rank', $this->request_coordinator_rank, true);
        $criteria->compare('is_short_listed', $this->is_short_listed);
        $criteria->compare('short_listed_date', $this->short_listed_date, true);
        $criteria->compare('is_awarded', $this->is_awarded);
        $criteria->compare('awarded_date', $this->awarded_date, true);
        $criteria->compare('created_by', $this->created_by, true);
        $criteria->compare('created_date', $this->created_date, true);
        $criteria->compare('modified_by', $this->modified_by, true);
        $criteria->compare('modified_date', $this->modified_date, true);

        return new CActiveDataProvider($this, array(
                    'criteria' => $criteria,
                ));
    }

在我的网格视图中,我需要使用给定user_id的搜索(或任何替代方法)函数从模型加载详细信息,并使用AccountCorporate模型中的公司名称corporate_id。请帮我找到解决方案。

提前感谢。

1 个答案:

答案 0 :(得分:1)

使用user创建新关系'user' => array(self::BELONGS_TO, 'Users', 'user_id'), 然后,要获取网格用户的详细信息,您可以使用$data->user->name

使用公司名称$data->corporate->name