• Как в Yii2 организовать связь через таблицу с условиями?

    @Myma Автор вопроса
    Да, работает, что-то типо того получилось, не знаю насколько это корректно или правильно:

    public function getMyVkUsers() {
            $subQuery = ChatBotClients::find()
                ->select('id')
                ->where(['chat_bot_user_id' => Yii::$app->user->id]);
            return $this->hasMany(VkUsers::class,['user_id' => 'id'])->onCondition(['chat_bot_clients_id' => $subQuery]);
        }


    Просто запутался какой вариант выбрать, на выбор были:
    1. При создании записи VkUsers сразу и ID юзера заносить туда и просто по нему сразу брать потом
    2. Составить функцию hasMany с использованием viaTable (не очень то получилось), так и не понял как
    3. Использовать join запрос. Каждый раз когда с ним не часто сталкиваюсь приходится все как будто заново изучать и каждый раз мозг ломается.
    4. Использовать вложенный запрос. Не знаю насколько это хорошо с точки зрения производительности

    Спасибо!