YII2 как мне справиться со многими отношениями? - PullRequest
0 голосов
/ 17 октября 2018

Я новичок в YII2, и у меня проблема с моими отношениями:

У меня есть Пользователи и Категория.У них отношения мм.Теперь я хотел бы видеть категории, которые есть у пользователя.Для этого я создал таблицу с именем "user_category", которая выглядит следующим образом: enter image description here

В моих моделях у меня есть следующий код, как предложено в Как мне работать со многимиотношения ко многим в 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());

Но это не возвращает мои категории, он возвращает следующее: enter image description here

Кто-нибудь знает, что я делаю не так?

Спасибо за ваше время и помощь !!

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Попытайтесь разделить свое выражение так, должно работать:

$categories = $user->categories;
var_dump($categories);
0 голосов
/ 17 октября 2018

Метод getCategories () возвращает объект ActiveQuery вместо моделей.Если вам нужно получить массив моделей категорий, вы должны использовать магическое свойство categories.Например:

var_dump($user->categories);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...