/** * Exclude object from result * * @param ChildConnection $connection Object to remove from the list of results * * @return $this|ChildConnectionQuery The current query, for fluid interface */ public function prune($connection = null) { if ($connection) { $this->addUsingAlias(ConnectionTableMap::COL_ID, $connection->getId(), Criteria::NOT_EQUAL); } return $this; }
/** * @param ChildConnection $connection The ChildConnection object to add. */ protected function doAddConnection(ChildConnection $connection) { $this->collConnections[] = $connection; $connection->setInstance($this); }
/** * Filter the query by a related \Jalle19\StatusManager\Database\Connection object * * @param \Jalle19\StatusManager\Database\Connection|ObjectCollection $connection the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return ChildInstanceQuery The current query, for fluid interface */ public function filterByConnection($connection, $comparison = null) { if ($connection instanceof \Jalle19\StatusManager\Database\Connection) { return $this->addUsingAlias(InstanceTableMap::COL_NAME, $connection->getInstanceName(), $comparison); } elseif ($connection instanceof ObjectCollection) { return $this->useConnectionQuery()->filterByPrimaryKeys($connection->getPrimaryKeys())->endUse(); } else { throw new PropelException('filterByConnection() only accepts arguments of type \\Jalle19\\StatusManager\\Database\\Connection or Collection'); } }
/** * @param ConnectionSeenEvent $event */ public function onConnectionSeen(ConnectionSeenEvent $event) { $instanceName = $event->getInstance(); $connectionStatus = $event->getConnection(); if (ConnectionQuery::create()->hasConnection($instanceName, $connectionStatus)) { return; } $user = null; // Find the user object when applicable if (!$connectionStatus->isAnonymous()) { $this->onUserSeen($instanceName, $connectionStatus->user); $user = UserQuery::create()->filterByInstanceName($instanceName)->filterByName($connectionStatus->user)->findOne(); } $connection = new Connection(); $connection->setInstanceName($instanceName)->setPeer($connectionStatus->peer)->setUser($user)->setStarted($connectionStatus->started)->setType($connectionStatus->type)->save(); $this->logger->info('Stored new connection (instance: {instanceName}, peer: {peer})', ['instanceName' => $instanceName, 'peer' => $connectionStatus->peer]); }