Как лучше организовать комментарии к разным модулям?
Делаю back-end сайта на Laravel, нужно запилить комментарии к материалам. Но дело в том, что модель комментариев одна, а модулей несколько:
1) блог
2) статьи
3) возможно, будет галерея с комментами
Очень хочется использовать foreign keys в комментариях (если что, БД - PostgreSQL через Eloquent ORM), комментарии должны связываться как "многие к одному" с:
1) ID материала
2) ID юзера
И вот тут я пока вижу два варианта:
1) Сделать таблицу modules, где прописать модули Articles, Blog, Gallery и их ID, затем связать внешним ключом module->id и comment->module_id . Но тогда не ясно, как сделать внешний ключ для entry_id, ведь разные материалы в разных модулях, и id могут вообще совпадать. Как я понимаю, по entry_id внешняя связь в данном случае невозможна.
2) Сделать отдельные таблицы комментариев для разных модулей. Но тут возникают проблемы с синхронизацией изменений в разных таблицах (хотя, можно исхитриться и решить их наследованием), с выборкой комментариев для отдельного юзера (трюк с belongsTo уже не пройдет)
Какой вариант более приемлемый, и может есть другие?