Комментарии 3
Извините, но пост выглядит конечно как сообщение вида: я покакал покушал. Что конечно не отменяет полезность полиморфных связей.
А можно вас попросить рассказать подробнее про эти самые полиморфные отношения? А то статья, которая сводится к строчке "вот тут происходит вся магия", вызывает некоторое разочарование. И наводит на мысли о рекламном характере. При том что рекламируемый проект явно интересный, но тогда уж и стоило бы писать статью именно о нём?
выигрыш в долгосрочной перспективе огромный
Стоило бы уточнить, что у морф-связей есть большой недостаток: невозможность прокинуть Foreign Keys, поскольку внешняя таблица определяется не статически, а дискриминатором.
Могу предположить, что огромный выигрыш заключается в отсутствии необходимости дублировать код комментариев/рейтингов для разных сущностей. Но тогда возникает другой вопрос:
Почему не использовали STI или JTI? Разница с морфами: нужен дополнительный класс на каждую внешнюю таблицу (что может быть даже плюсом, ведь можно кое что местами кастомизировать), но зато будут FK и типизация в сущностях.
Как мы создали универсальную систему комментариев и рейтингов с полиморфными связями в Laravel