簡體   English   中英

Yii模型CGridView,包括帶有Yii-User Profile Field數據的列

[英]Yii Model CGridView including column with Yii-User Profile Field data

我希望在模型中為相關模塊的模型啟用搜索條件。 這是一個解釋我的意思的例子:

  • 我有一個包含“ user_id”的“產品”模型。
  • 在Yii-user中,我創建了一個名為“ brand”的自定義配置文件字段。
  • 我在產品模型的索引視圖中有一個CGridView(具有搜索/篩選功能),該視圖列出了所有產品。
  • 我想將“品牌”配置文件字段(這是由Yii-User制作的自定義配置文件字段)添加到CGridView列,允許人們按“品牌”過濾和搜索網格視圖。

我在我的產品模型關系中添加了以下代碼:

public function relations()
{
            Yii::import('application.modules.user.models.*');
    Yii::app()->getModule('user');
    return array(
        'user' => array(self::BELONGS_TO, 'Users', 'user_id'),
    );
}

然后將其添加到產品模型的搜索條件中:

$criteria->compare('user.brand', $this->user->profile->brand, true);

然而,這沒有產生積極的結果。

我不確定在這里我走的方向是否正確。 有人知道怎么做嗎?

為什么將以下幾行放在“ relations()”函數中?

Yii::import('application.modules.user.models.*');
Yii::app()->getModule('user');

您需要將“品牌”放在“產品”模型的公共或私有屬性上。 此屬性不是持久性的,僅用於獲取過濾器表單值。

然后像這樣使用:

$criteria->compare('user.brand', $this->brand, false);

並且可能需要將'brand'屬性放在'rules()'上,並在array()上使用'on'=>'search'。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM