/** * Retrieve lock from db * * @param Request $request Request object used in the search profile api * * @return array Collection of entity objects or only empty array */ public function retrieve(Request $request) { /** @var \Tasker\Mapper\Lock\Entity $mapper */ $mapper = DbMapperFactory::make('lock|entity'); $requestDataArray = $request->getData(); $mapper->setArrays($requestDataArray); $dbAttributesForQuery = $mapper->getMappedSecondAttributes(); $requestExtraArray = $request->getExtra(); // Order by $orderBy = isset($requestExtraArray[Request::EXTRA_ORDER_BY]) ? $requestExtraArray[Request::EXTRA_ORDER_BY] : []; $lockQuery = new LockQuery(); /** @var \Propel\Runtime\ActiveQuery\ModelCriteria $modelCriteria */ $modelCriteria = null; foreach ($orderBy as $key => $value) { $direction = $value == 'asc' ? ModelCriteria::ASC : ModelCriteria::DESC; if ($modelCriteria != null) { $modelCriteria = $modelCriteria->orderBy($mapper->getMappedSecondAttributeByOneAttributeValue($key), $direction); } else { $modelCriteria = $lockQuery->orderBy($mapper->getMappedSecondAttributeByOneAttributeValue($key), $direction); } } // Limit if (isset($requestExtraArray[Request::EXTRA_LIMIT])) { $modelCriteria->limit($requestExtraArray[Request::EXTRA_LIMIT]); } // Offset if (isset($requestExtraArray[Request::EXTRA_OFFSET])) { $modelCriteria->offset($requestExtraArray[Request::EXTRA_OFFSET]); } if ($modelCriteria != null) { /** @var \Propel\Runtime\Collection\ObjectCollection $dbEntities */ $dbEntities = $modelCriteria->findByArray($dbAttributesForQuery); } else { $dbEntities = $lockQuery->findByArray($dbAttributesForQuery); } $mapper->setArrays($dbEntities->toArray()); $this->setEntitiesFromResponse($mapper->getMappedFirstEntities()); }
/** * Retrieve task from db * * @param Request $request Request object used in the search profile api * * @return void */ public function retrieve(Request $request) { $requestDataArray = $request->getData(); /** @var \Tasker\Mapper\Task\Entity $mapper */ $mapper = DbMapperFactory::make('task|entity'); $mapper->setArrays($requestDataArray); $dbAttributesForQuery = $mapper->getMappedSecondAttributes(); $requestExtraArray = $request->getExtra(); // Order by $orderBy = isset($requestExtraArray[Request::EXTRA_ORDER_BY]) ? $requestExtraArray[Request::EXTRA_ORDER_BY] : []; $taskQuery = new TaskQuery(); foreach ($orderBy as $key => $value) { $direction = $value == 'asc' ? ModelCriteria::ASC : ModelCriteria::DESC; $taskQuery->orderBy($mapper->getMappedSecondAttributeByOneAttributeValue($key), $direction); } // Limit if (isset($requestExtraArray[Request::EXTRA_LIMIT])) { $taskQuery->limit($requestExtraArray[Request::EXTRA_LIMIT]); } // Offset if (isset($requestExtraArray[Request::EXTRA_OFFSET])) { $taskQuery->offset($requestExtraArray[Request::EXTRA_OFFSET]); } $dbEntities = $taskQuery->findByArray($dbAttributesForQuery); $mapper->setArrays($dbEntities->toArray()); $this->setEntitiesFromResponse($mapper->getMappedFirstEntities()); }