Laravel по-русски

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

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

#1 18.05.2015 11:09:01

Вывести из базы данные(топ лайков) many-to-many relationship

Всем привет...

Прошу помощи.

Хочу сделать вывод материалов где больше всего лайков
Лайки реализованы как отношение многие ко многим  - один лайк один пользователь

есть таблица blogs где все записи и users где хранятся пользователи и blog_user pivot таблица

хочу вывести записи где больше всего лайков(пользователей)

Зарранее спасибо

Изменено fagtr (18.05.2015 11:09:19)


в разработке

Не в сети

#2 18.05.2015 12:01:35

Re: Вывести из базы данные(топ лайков) many-to-many relationship

такие подходы губят в корню хайлоад.

пойди путём НЕ усложнения.

1) обновляй несущие записи статикой. при добалении лайка пересчитывай конечное значение и инкрементируй/декрементируй его.
2) лайки в подобных связях актуальны НЕ ДЛЯ подсчётов, а для хранения указателей на тех же пользователей, чтобы показать кто лайкнул, не более.

старайся не делать поделку ради поделки wink

Не в сети

#3 18.05.2015 12:57:02

Re: Вывести из базы данные(топ лайков) many-to-many relationship

к сожалению это и было сделано чтобы хранить указатели на пользователей...
1) что бы знать лайкнул запись пользователь или нет
2) выводить текущий список пользователей кому понравилось  запись
3) и в профиле пользователя выводить все записи на которых пользователь поставил лайк...

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

Изменено fagtr (18.05.2015 12:57:14)


в разработке

Не в сети

#4 20.05.2015 13:45:01

Re: Вывести из базы данные(топ лайков) many-to-many relationship

все еще не нашел решения... прошу помощи


в разработке

Не в сети

#5 26.05.2015 15:32:52

Re: Вывести из базы данные(топ лайков) many-to-many relationship

А я всё таки настаиваю.
Посмотри сюда, я там подробно описал многое ко многому
https://laravel.ru/forum/viewtopic.php?id=944

Изменено hzone (26.05.2015 15:33:07)

Не в сети

#6 26.05.2015 15:34:22

Re: Вывести из базы данные(топ лайков) many-to-many relationship

в любом случае в описанной модели ты можешь перекрёстно получить всё что необходимо.
нужно сложнее?
вот: http://laravel.com/docs/5.0/eloquent#has-many-through

Не в сети

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