Система уведомлений в CodeIgniter
У меня есть форум такого рода, который уже существует, и теперь клиент хочет внедрить на него систему уведомлений. Какой оптимальный выход.
Моя таблица обычно выглядит следующим образом:
Id | к | от | Сообщение | is_read | Время | Ссылка на сайт
Теперь реальный вопрос... есть ли какой-либо альтернативный способ поместить данные в эту таблицу, чем перейти на каждый соответствующий контроллер и запустить последующую вставку, когда основная вставка прошла успешно. Я думал об использовании ловушек, но я не мог найти, как подключить функцию после того, как функция модели была успешной или функция контроллера.
1 ответ
Вместо обновления каждого контроллера, который имеет дело с этой таблицей, вы должны обновить модель один раз.
Каждый раз, когда вы вызываете ваш метод в вашей модели для обновления этой конкретной таблицы, вы можете попросить его вызвать другой метод после или до того, как он вставит / обновит ваши записи, которые выполняют нужную вам задачу.
Хорошая базовая модель CodeIgniter, которую я люблю использовать для такого рода вещей, это MY_Model от jamierumbelow. ( https://github.com/jamierumbelow/codeigniter-base-model)
Он позволяет вам подключиться к before_create/after_create/before_update/etc и хорошо работает с проверкой CodeIgniters.