【问题标题】:Yii CGridView Data popoulating Using Search in modelYii CGridView 数据填充在模型中使用搜索
【发布时间】:2011-10-12 12:18:34
【问题描述】:

在我的项目中,我使用 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 的搜索(或任何替代方法)功能从模型中加载详细信息,并使用corporate_idAccountCorporate 模型中获取公司名称.请帮我找到解决方案。

提前致谢。

【问题讨论】:

  • 这里到底有什么问题?
  • @ldg 我正在寻找的是使用自定义查询在网格上填充数据。我的意思是关于 user_id 我需要显示他的详细信息。在 search() 方法中,我使用搜索来显示网格项目。但在这里我需要获取特定用户 ID 的详细信息。

标签: model yii


【解决方案1】:

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

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

【讨论】:

  • 是否可以在模型之间创建关系而无需在表中建立关系。我的意思是没有表之间的关系。
  • @JaisonJustus 是的,这是可能的。建议您在数据库中也创建这样的关系,因为这有助于保持数据库的一致性。
  • 让我检查一下场景并尽快回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多