public function executeSchemaUserList() { $c = new Criteria(); $c->add(SchemaHasUserPeer::SCHEMA_ID, $this->schemaId); $c->addAscendingOrderByColumn(UserPeer::LAST_NAME); $this->users = SchemaHasUserPeer::doSelectJoinUser($c); }
public function setUserId($userId = null) { if ($userId) { $this->userId = $userId; } else { $criteria = new \Criteria(); if ('schema' == $this->type) { $criteria->add(\SchemaHasUserPeer::SCHEMA_ID, $this->vocabId); $criteria->add(\SchemaHasUserPeer::IS_ADMIN_FOR, true); $users = \SchemaHasUserPeer::doSelectJoinUser($criteria); } else { $criteria->add(\VocabularyHasUserPeer::VOCABULARY_ID, $this->vocabId); $criteria->add(\VocabularyHasUserPeer::IS_ADMIN_FOR, true); $users = \VocabularyHasUserPeer::doSelectJoinUser($criteria); } if ( ! $users) { //TODO: turn this into a real error message and exit gracefully exit( "No user ID found!!!!!" ); } /** @var $schemaUser \SchemaHasUser */ $schemaUser = $users[0]; $this->userId = $schemaUser->getUser()->getId(); } }
/** * If this collection has already been initialized with * an identical criteria, it returns the collection. * Otherwise if this Schema is new, it will return * an empty collection; or if this Schema has previously * been saved, it will retrieve related SchemaHasUsers from storage. * * This method is protected by default in order to keep the public * api reasonable. You can provide public methods for those you * actually need in Schema. */ public function getSchemaHasUsersJoinUser($criteria = null, $con = null) { // include the Peer class include_once 'lib/model/om/BaseSchemaHasUserPeer.php'; if ($criteria === null) { $criteria = new Criteria(); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collSchemaHasUsers === null) { if ($this->isNew()) { $this->collSchemaHasUsers = array(); } else { $criteria->add(SchemaHasUserPeer::SCHEMA_ID, $this->getId()); $this->collSchemaHasUsers = SchemaHasUserPeer::doSelectJoinUser($criteria, $con); } } else { // the following code is to determine if a new query is // called for. If the criteria is the same as the last // one, just return the collection. $criteria->add(SchemaHasUserPeer::SCHEMA_ID, $this->getId()); if (!isset($this->lastSchemaHasUserCriteria) || !$this->lastSchemaHasUserCriteria->equals($criteria)) { $this->collSchemaHasUsers = SchemaHasUserPeer::doSelectJoinUser($criteria, $con); } } $this->lastSchemaHasUserCriteria = $criteria; return $this->collSchemaHasUsers; }