То, что я хочу:
На сайте будет в нескольких местах использоваться комментарии к чему-либо (чат, новости, форум и т.п.). Чтобы не дублировать во всех этих модулях один и тот же код, я хочу создать компонент комментариев, который буду в будущем просто прикреплять к различным модулям. Нужно не просто отдельную вьюшку создать (это понятно), но ещё и на стороне back-end создать (класс или trait, может). Планируется потом просто в методе задавать в качестве параметра (или их несколько будет) просто название таблицы.
Пример в Laravel:
Примерно похожим способом сделана пагинация в Laravel. Но там немного замудрённо, поэтому хочу услышать мнение и примерные решения от экспертов.
--------
Подскажите, пожалуйста, как можно примерно такое реализовать, чтобы было грамотно и просто?
То есть для всех комментариев всех модулей будет одна таблица, в которой просто будет дополнительное поле, которое отвечает за название (например) модуля?
Kostik_1993, а как эту таблицу (комментариев) использовать и для чата, где нет связей этих? Просто делать обычный запрос с where('commentable_type', 'chat') ?
Алексей Уколов, у меня одинаковая, считайте.
id, user_id, message_id (id процитированного сообщения), text, created_at и update_at. Эти же поля и у комментариев, просто там ещё commentable_id и commentable_type.
Антон Алексеевич, то, что они схожи - не значит что одинаковые. Сущность комментария - это одно, сообщение в чате - совсем другое. Две разные модели, даже если поля были б полностью идентичны.