Пашенька, 100%. Звучит как очередное рекламное бла-бла будто человек ни в чем не разбирается. Заказчику нужны профи в своей сфере, а не продавцы. Сразу думаешь что это перекупщик услуг, новичок или мошенник.
Максим, они никак не связаны. Первый контроллер принимает http запрос и возвращает вьюху-шаблон без комментариев. Это когда ты переходишь по урлу на сайте. Далее тебе нужны комментарии. И нужны они твоему js скрипту т.к. тебе нужна подгрузка, лайки и счетчики без перезагрузки страницы. Поэтому ты делаешь аякс запрос ко второму контроллеру, который возвращает тебе комментарии, которые ты уже крутишь в цикле внутри js скрипта и проводишь с ними js операции о чем вьюха не догадывается.
Максим, так грузи их аяксом. Делай запрос на сервер. К отдельному контроллеру/методу. Который тебе вернет Resource. Код я тебе написал. Как делать аякс запросы это уже в другую ветку
Максим, когда ты страницу загружашь тебе возвращается view, затем твой js скрипт делает аякс запрос на сервер, который тебе возвращает комментарии в виде json и там уже будет мета инфа с тотал. Здесь нужно 2 контроллера/метода. Один будет возвращать view другой json Laravel Resource. Не нужно все совать в один метод иначе потом устанешь это разгребать.
NubasLol, тормозить и без полиморфных может, а заранее оптимизировтаь неизвестную нагрузку смысла нет. И терять удобство полиморфных, когда можно добавить к 10 моделям за 5 минут функционал голосований. Вообще они и придуманы для большого количества данных типа лайков дизлайков комментариев и т.д. и придуманы не дураками. Все от проекта зависит. Автор как обычно ничего про свой проект не рассказал и все начинают гадать. Мне нравится версия с авторизацией) к полиморфным кстати можно сделать счетчик дополнительно я видел пример в отдельной таблице интеджерами, деталей не помню (т.е. есть варианты оптимизировать если погуглить)
NubasLol, когда много можно и зарефакторить если действительно не в теории тормоза есть. А до этого имхо зауши юзать одну полиморфную таблицу с трейтом для чего Ларавел их и придумал.
Антон Антон, подправил ответ, спасибо. Насчет ключа не знаю кто там копья ломает post_id видел только у начинающих, в более менее примерах -модулях id и Ларавел по дефолту ждет ид. Ну и сам код гораздо логичней выглядит с $post->id чем с $post->post_id когда вижу enity_id я сразу про связь думаю
alexeygavrilovs, для подсчетов в Laravel есть методы, а также withCount для связей. Для выборки данных scope. Ограничивать возможность голосовать на фронте и бэке – сразу после голосования сетать show переменную/ставить disabled на кнопке когда ajax возвращает тру и на сервере перед созданием записи проверять, что юзер уже голосовал с помощью ларавелевских политик авторизации методом exists.
NubasLol, ну не знаю. Мне Ларавел нравится. Крутой цельный, продуманный продукт. Насчет неявного не понял. Ты о чем? По-моему там все сделано, чтобы понятно было даже не программисту. Типа Product::ofActive()->latest()->get(), $user->can(update post) и т.д. Все в таком стиле. Архитектура примерно такая же как везде (роут-контроллер-классы-фронт). Для магазинов напрасно используют если нет бюджета на штат разработчиков. Т.к. логика/запросы геморойные и полно решений готовых. Я основной говнокод видел если не используют функционал и выдумывают велосипеды. Но лучше всего конечно для стартапов. Т.е. за неделю-две с vue+bootstrap можно под пиво запилить более менее приложение покрытое тестами, которое будет работать и в ларе все для этого сделано.