Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 24.02.2015 14:26:46

Счетчик комментариев

Как правильно выводить кол-во комментариев к постам?
Хранить в отдельном поле в таблице Posts?
Cчитать count по id_post при выводе постов?
Или может хранить в отдельной таблице связанной отношениями?

Какая практика наиболее удобная и правильная?

Не в сети

#2 24.02.2015 17:18:09

Re: Счетчик комментариев

Glivera пишет:

Хранить в отдельном поле в таблице Posts?

да. главное не забывать обновлять при действиях с комментариями. если все такие действия проходят через элоквент, удобно наверное будет повесить обработчик на события модели комментариев.

Не в сети

#3 25.02.2015 02:18:40

Re: Счетчик комментариев

По мне так лучше считать count. Зачем плодить лишние таблицы и еще отслеживать их изменения? Когда вся информация уже есть в существующих таблицах.

Не в сети

#4 25.02.2015 07:52:08

Re: Счетчик комментариев

Afatar пишет:

По мне так лучше считать count. Зачем плодить лишние таблицы и еще отслеживать их изменения? Когда вся информация уже есть в существующих таблицах.

теоретически да, нормализация схемы БД и всё такое.

но в реале, с точки зрения производительности, эффективнее продублировать данные в поле постов, и выбирать их, не обращаясь к соседним таблицам. в этом случае поле "количество комментариев" выступает своеобразным кэшем - главное вовремя этот кэш инвалидировать. естественно можно эти данные закэшировать где угодно, не обязательно в таблице постов, но именно там это сделать проще всего и обычно именно так и делают. опять же если проект планируется размещать на обычном шаред-хостинге (а это самый распространённый вариант), но никаких мемкэшей и редисов увидеть проекту не светит.

Не в сети

Подвал раздела