簡體   English   中英

YII2 我如何處理多對多關系?

[英]YII2 how do i handle many to many relationships?

我是 YII2 的新手,我的人際關系有問題:

我有用戶和類別。 他們有毫米關系。 現在我想查看用戶擁有的類別。 為此,我制作了一個名為“user_category”的表,如下所示: 在此處輸入圖片說明

在我的模型中,我有以下代碼,如我如何在 Yii2 中處理多對多關系中所建議的

public function getUsers(){
    return $this->hasMany(TabUser::className(), ['intUserID' => 'intUserID'])
        ->viaTable('user_category', ['intCategoryID' => 'intCategoryID']);
}
public function getCategories(){
    return $this->hasMany(TabCategory::className(), ['intCategoryID' => 'intCategoryID'])
        ->viaTable('user_category', ['intUserID' => 'intUserID']);
}

然后我把它們聯系在一起:

if($user->validate()) {
        $user->link('categories', $category);
    }

    var_dump($user->getCategories());

但這不會返回我的類別,而是返回以下內容: 在此處輸入圖片說明

有誰知道我做錯了什么?

感謝您的時間和幫助!

嘗試像這樣划分您的表達式,應該可以:

$categories = $user->categories;
var_dump($categories);

方法 getCategories() 返回 ActiveQuery 對象而不是模型。 如果您需要獲得一系列類別模型,您必須使用神奇的屬性categories 例如:

var_dump($user->categories);

暫無
暫無

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

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