У меня есть модель с именем feedback
с атрибутами, рейтингом и обзором.product
может иметь обратную связь, appointment
может иметь обратную связь, user
может иметь обратную связь.
Я мог бы добавить отдельные поля, такие как user_id, product_id, assign_id в таблице отзывов,но это не очень хорошее масштабируемое решение.Другой вариант, на мой взгляд, это использовать обобщенное поле reference_id и поле reference_model, которое можно заполнить именем модели, преобразованным в строку, а затем я могу вручную интерпретировать, если идентификатор, введенный в reference_id, принадлежит пользователю, продукту илиназначение.
Как лучше всего связать каждый отзыв с любой из 3 моделей в данный момент времени?