diff --git a/ground/classes/Model.php b/ground/classes/Model.php index 1a52090..5a6f3ed 100644 --- a/ground/classes/Model.php +++ b/ground/classes/Model.php @@ -23,12 +23,21 @@ class Model return isset($this->_vals_[$name]) ? $this->_vals_[$name] : null; } + /** + * Получаем Primary Key + * @return type + */ private function getPk() { $res = App::$DB->query("SHOW KEYS FROM " . $this->_tableName_ . " WHERE Key_name = 'PRIMARY'")->fetch(PDO::FETCH_ASSOC); return $res["Column_name"]; } + /** + * Возвращает объект - запись в БД. + * @param int $id + * @return \Model + */ function getByPK($id) { $this->_vals_ = App::$DB->query('SELECT * FROM ' . $this->_tableName_ . ' WHERE ' . $this->_primaryKey_ . ' = ' . $id)->fetch(PDO::FETCH_ASSOC); @@ -36,8 +45,13 @@ class Model return $this; } + /** + * Возвращает массив с ассоциативными массивами, соответствующими записями в БД. + * @return array + */ function getAll() { + /* TODO: Переделать этот метод. Сделать статическим, возвращать массив объектов. */ $res = App::$DB->query('SELECT * FROM ' . $this->_tableName_); $this->_id_ = NULL; // Это больше не конкретная запись @@ -51,11 +65,21 @@ class Model return $ready; } + /** + * Удаляет запись из БД. + * @param int $id + * @return boolean + */ function delete($id) { - return App::$DB->query('DELETE FROM ' . $this->_tableName_ . ' WHERE ' . $this->_primaryKey_ . ' = ' . $id); + return $id ? App::$DB->query('DELETE FROM ' . $this->_tableName_ . ' WHERE ' . $this->_primaryKey_ . ' = ' . $id) : false; } + /** + * Добавляет новую запись в БД. + * @param array $values - ассоциативный массив соо значениями. + * @return int/boolean - id добавленной записи или false. + */ function add($values) { @@ -70,6 +94,10 @@ class Model } } + /** + * Сохраняет объект в БД. + * @return object/boolean + */ function save() { if (!$this->_id_ || !$this->_vals_) @@ -84,6 +112,10 @@ class Model return $res ? $this : FALSE; } + /** + * Возвращает значения полей объекта в виде ассоциативного массива. + * @return array + */ function getValues() { return $this->_vals_;