Итак. Есть соц сеть. Куча таблиц и зависимостей. Вот часть из них.
Пользователь может быть владельцем клуба (club.owner_id) и может состоять в клубАХ (users_clubs) - many_many

Каждый пользователь генерирует события. События привязаны только к пользователю. Необходимо сделать вывод в gridview список событий в клубе. То есть выводить события всех пользователей относящихся к конкретному клубу. 
Набросал вот такой sql
SELECT
					e.id, e. c.club_id, u.name
				FROM
					events AS e
					JOIN user AS u
						ON e.owner_id = u.id
					JOIN users_clubs AS uc
						ON uc.user_id = u.id
					JOIN clubs AS c
						ON c.id = uc.club_id
				WHERE
					c.id = :club_id
Имеются модели: 
Userpublic function getClubs(){
		return $this->hasMany(Club::className(), ['id'=>'club_id'])
			->viaTable('users_clubs', ['user_id'=>'id']);
	}
Eventpublic function getOwner(){
		return $this->hasOne(User::className(), ['id'=>'owner_id']);
	}
Clubpublic function getMembers($count = 100){
		return $this->hasMany(User::className(), ['id'=>'user_id'])
			->limit($count)
			->viaTable('users_clubs', ['club_id'=>'id'], function($query){
				$query->where(['status'=>User::STATUS_CLUB_JOINED_APPROVED]);
			});
	}
Search модели Eventpublic function search($params) {
		$query = Event::find(); // я так понимаю вся движуха должна быть здесь или вынесена в EventQuery впоследствии
		$this->scenario = 'search';
		$dataProvider = new \yii\data\ActiveDataProvider([
			'query'=>$query,
		]);
		
		if (!($this->load($params) && $this->validate())) {
			return $dataProvider;
		}
		$query->andFilterWhere(['id' => $this->id]);
		return $dataProvider;
	}
Есть ли у кого время и возможность помочь с вопросом?