Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Всем привет...
Прошу помощи.
Хочу сделать вывод материалов где больше всего лайков
Лайки реализованы как отношение многие ко многим - один лайк один пользователь
есть таблица blogs где все записи и users где хранятся пользователи и blog_user pivot таблица
хочу вывести записи где больше всего лайков(пользователей)
Зарранее спасибо
Изменено fagtr (18.05.2015 11:09:19)
в разработке
Не в сети
такие подходы губят в корню хайлоад.
пойди путём НЕ усложнения.
1) обновляй несущие записи статикой. при добалении лайка пересчитывай конечное значение и инкрементируй/декрементируй его.
2) лайки в подобных связях актуальны НЕ ДЛЯ подсчётов, а для хранения указателей на тех же пользователей, чтобы показать кто лайкнул, не более.
старайся не делать поделку ради поделки
Не в сети
к сожалению это и было сделано чтобы хранить указатели на пользователей...
1) что бы знать лайкнул запись пользователь или нет
2) выводить текущий список пользователей кому понравилось запись
3) и в профиле пользователя выводить все записи на которых пользователь поставил лайк...
рад был бы иначе реализовать... но иного решения не нашел...
Да согласен уже сейчас такие подходы ставят на колени сайт, но кеширование пока спасает
Изменено fagtr (18.05.2015 12:57:14)
в разработке
Не в сети
все еще не нашел решения... прошу помощи
в разработке
Не в сети
А я всё таки настаиваю.
Посмотри сюда, я там подробно описал многое ко многому
https://laravel.ru/forum/viewtopic.php?id=944
Изменено hzone (26.05.2015 15:33:07)
Не в сети
в любом случае в описанной модели ты можешь перекрёстно получить всё что необходимо.
нужно сложнее?
вот: http://laravel.com/docs/5.0/eloquent#has-many-through
Не в сети