/** * Return the projects as array with objects. * * <code> * $options = array( * "ids" => array(1,2,3,4,5) * ); * * $projects = new Crowdfunding\Projects(\JFactory::getDbo()); * $projects->load($options); * * $items = $projects->getProjects(); * </code> * * @return array */ public function getProjects() { $results = array(); $i = 0; foreach ($this->items as $item) { $project = new Project($this->db); $project->bind($item); $results[$i] = $project; $i++; } return $results; }
/** * Return project object by ID. * * <code> * $phrase = "Gamification"; * $projectId = 1; * * $projects = new Crowdfunding\Projects(\JFactory::getDbo()); * $projects->loadByString($phrase); * * $project = $projects->getProject($projectId); * </code> * * @param int $projectId * * @return null|Project */ public function getProject($projectId) { $item = null; foreach ($this->items as $project) { if ((int) $projectId === (int) $project['id']) { $item = new Project(\JFactory::getDbo()); $item->bind($project); break; } } return $item; }
/** * Return project object by ID. * * <code> * $phrase = "Gamification"; * $projectId = 1; * * $projects = new Crowdfunding\Projects(\JFactory::getDbo()); * $projects->loadByString($phrase); * * $project = $projects->getProject($projectId); * </code> * * @param int $projectId * * @return null|Project */ public function getProject($projectId) { $item = null; if (isset($this->items[$projectId])) { $item = new Project(\JFactory::getDbo()); $item->bind($this->items[$projectId]); } return $item; }
/** * Return project object by ID. * * <code> * $phrase = "Gamification"; * $projectId = 1; * * $projects = new Crowdfunding\Projects(\JFactory::getDbo()); * $projects->loadByString($phrase); * * $project = $projects->getProject($projectId); * </code> * * @param int $id * * @return null|Project */ public function getProject($id) { if (!$id) { throw new \UnexpectedValueException(\JText::_('LIB_CROWDFUNDING_INVALID_PROJECT_ID')); } $project = null; foreach ($this->items as $item) { if ((int) $id === (int) $item['id']) { $project = new Project($this->db); $project->bind($item); break; } } return $project; }