public static function getById($id) { $connection = new Connection(); $getId = $connection->mysql->real_escape_string($id); $query = "SELECT * FROM todo WHERE id = {$getId}"; $results = $connection->mysql->query($query); if ($results->num_rows) { while ($row = $results->fetch_object()) { $obj = new Todo(); $obj->setId($row->id); $obj->setTitle($row->title); $obj->setDescription($row->description); } } return $obj; }
/** * Maps array to the given {@link Todo}. * <p> * Expected properties are: * <ul> * <li>id</li> * <li>priority</li> * <li>created_on</li> * <li>due_on</li> * <li>last_modified_on</li> * <li>title</li> * <li>description</li> * <li>comment</li> * <li>status</li> * <li>deleted</li> * </ul> * @param Todo $todo * @param array $properties */ public static function map(Todo $todo, array $properties) { if (array_key_exists('id', $properties)) { $todo->setId($properties['id']); } if (array_key_exists('priority', $properties)) { $todo->setPriority($properties['priority']); } if (array_key_exists('created_on', $properties)) { $createdOn = self::createDateTime($properties['created_on']); if ($createdOn) { $todo->setCreatedOn($createdOn); } } if (array_key_exists('due_on', $properties)) { $dueOn = self::createDateTime($properties['due_on']); if ($dueOn) { $todo->setDueOn($dueOn); } } if (array_key_exists('last_modified_on', $properties)) { $lastModifiedOn = self::createDateTime($properties['last_modified_on']); if ($lastModifiedOn) { $todo->setLastModifiedOn($lastModifiedOn); } } if (array_key_exists('title', $properties)) { $todo->setTitle(trim($properties['title'])); } if (array_key_exists('description', $properties)) { $todo->setDescription(trim($properties['description'])); } if (array_key_exists('comment', $properties)) { $todo->setComment(trim($properties['comment'])); } if (array_key_exists('status', $properties)) { $todo->setStatus($properties['status']); } if (array_key_exists('deleted', $properties)) { $todo->setDeleted($properties['deleted']); } }
/** * @return Todo * @throws Exception */ private function insert(Todo $todo) { $now = new DateTime(); $todo->setId(null); $todo->setCreatedOn($now); $todo->setLastModifiedOn($now); $todo->setStatus(Todo::STATUS_PENDING); $sql = ' INSERT INTO todo (id, priority, created_on, last_modified_on, due_on, title, description, comment, status, deleted) VALUES (:id, :priority, :created_on, :last_modified_on, :due_on, :title, :description, :comment, :status, :deleted)'; return $this->execute($sql, $todo); }