Модель: различия между версиями

Материал из GLENN CMS WIKI
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 31: Строка 31:
  }
  }
  ?>
  ?>
==Инициализация модели в контроллере==
Для того чтобы инициализировать модель в контроллере достаточно создать метов initModel и в нём выполнить $this->model = new siteModel();
function initModel() {
  $this->model = new siteModel();
}

Версия от 19:00, 12 февраля 2013

Модель это класс для работы с БД


файлы классов моделей располагаются в папке models определённого плагина. Имя файла модели должно всегда оканчиваться на Model. т.е. в случае user модели имя файла должно выглядеть как usersModel.php


  • Все модели должны наследоваться от родительского класса DbModel


Внутри модели есть несколько основных методов для работы с БД

s_fetchAll($sql) - выбирает набор строк, возвращает результат запроса как многомерный массив где на первом уровне содержаться строки, на втором, столбцы

s_fetchRow($sql) - выбирает одну строку, возвращает результат запроса как одномерный массив, где ключами являются имена столбцов, а значения, их значения соответственно

s_fetchCol($sql) - выбирает столбец, возвращает одномерный массив, содержащий результат выборки (каждый элемент - одна ячейка)

s_fetchOne($sql) - выбирает единственное значение

а также метод pq для вставки, обновления, удаления данных


Пример - если нам надо выбрать всех пользователей то наша модель должна выглядеть следующим образом


<?php
class usersModel extends DbModel {
    function  getUsers() {
       return $this->s_fetchAll("select * from users");
    }
}
?>


Инициализация модели в контроллере

Для того чтобы инициализировать модель в контроллере достаточно создать метов initModel и в нём выполнить $this->model = new siteModel();

function initModel() {
  $this->model = new siteModel();
}