Модели служат для работы с базой данных, в SMVC именно к моделям обращаются контроллеры, чтобы извлечь данные из СУБД.
Любая модель внутри Приложения:
- должна наследовать базовый класс модели
\ItForFree\SimpleMVC\MVC\Modelиз пакета Ядра. - может определить имя используемой таблицы, переопределяя свойство
$tableNameродительского класса
-- после этого можно использовать методы уже определенные в базовом классе
Класс \ItForFree\SimpleMVC\MVC\Model реализует следующие методы, которые становятся доступны классу-потомку сразу же после наследования базового класса (+ для корректной работы надо переопределить имя таблицы):
getById()-- получение сущности с конкретным idgetList()-- получение списка сущностейgetPage()-- получение части списка (для пейджинации)loadFromArray()-- создание объекта модели на основе данных из массиваdelete()-- удаление из БД кортежа, соответствующего текущему объекту модели
Подробнее см. исходный код \ItForFree\SimpleMVC\MVC\Model.
Если какой-то из перечисленных методов работает не так как вас надо (скажем в ситуации, когда родительский getList() выбирает данные только из основной таблицы сущности, а вам надо чтобы он выполнял ещё и JOIN с другими таблицами), то в качестве решения вы всегда можете переопределить нужный метод в классе-потомке (в вашей модели), написав там свой код.
Если нужного вам метода в базовой модели нет, то его всегда можно реализовать в классе-потомке.