addLeftJoin(['campaign', 'campaignAccess'], $result); $result['whereClause'][] = [ 'campaignAccess.assignedUserId' => $this->getUser()->id, ]; } protected function accessOnlyTeam(&$result) { $this->addLeftJoin(['campaign', 'campaignAccess'], $result); $teamIdList = $this->user->getLinkMultipleIdList('teams'); if (empty($teamIdList)) { $result['whereClause'][] = [ 'campaignAccess.assignedUserId' => $this->getUser()->id, ]; return; } $this->addLeftJoin( [ 'EntityTeam', 'entityTeamAccess', [ 'entityTeamAccess.entityType' => 'Campaign', 'entityTeamAccess.entityId:' => 'campaignAccess.id', 'entityTeamAccess.deleted' => false, ] ], $result ); $result['whereClause'][] = [ 'OR' => [ 'entityTeamAccess.teamId' => $teamIdList, 'campaignAccess.assignedUserId' => $this->getUser()->id, ], 'campaignId!=' => null, ]; } }