Несмотря на то, что посту 8 лет, вопрос по-прежнему действует в 2018 году.
Активная запись - Анти шаблон Остерегайтесь этого. Это создает очень тесную связь между кодом и базой данных. Это не может быть проблемой для небольших простых проектов. Тем не менее, я бы настоятельно рекомендовал не использовать его в чем-то большем.
Хороший дизайн ООП сделан в слоях. Уровень ввода, уровень обслуживания, уровень хранилища, отображение данных и БД - простой пример. Вы не должны смешивать входной слой с БД. Как это можно сделать? Например, в Laravel вы можете использовать правило валидатора, например:
'email' => 'exists:staff,email'
Проверяет, существует ли электронная почта в таблице сотрудников.
Это полная ООП бессмысленная. Он связывает ваш верхний слой с именем столбца БД. Я не могу представить лучшего примера плохого дизайна ООП.
Суть в том, что если вы создаете простой сайт с 2-3 таблицами, например блог, активная запись может не быть проблемой. Для чего-то большего, перейдите на Data Mapper и будьте осторожны с принципами ООП, такими как IoC, SoC и т. Д.