From ef53ace6fca985f6f4582b38686cd5c0dfcf50cb Mon Sep 17 00:00:00 2001 From: Krivchikov Dmitry Date: Tue, 8 Apr 2014 11:57:25 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B0?= =?UTF-8?q?=D1=80=D0=B8=D0=B8=20=D0=BA=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81?= =?UTF-8?q?=D1=83=20Model?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ground/classes/Model.php | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) 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_;