public function setMembers() { $cgus = ChatGroupUser::find()->where(['group_id' => $this->id])->all(); $ids = []; foreach ($cgus as $cgu) { $ids[] = $cgu->user_id; } $this->members = implode(',', $ids); }
/** * Собеседники из всех групп */ public function getGroupUsers() { $talkers = []; $groupIds = []; $chus = ChatGroupUser::find()->where(['user_id' => $this->id])->all(); foreach ($chus as $chu) { $groupIds[] = $chu->group_id; } $groupUsers = ChatGroupUser::find()->where(['group_id' => $groupIds])->andWhere('user_id <> ' . $this->id)->with('user')->groupBy('user_id')->all(); foreach ($groupUsers as $groupUser) { $talkers[] = $groupUser->user; } return $talkers; }