Я просмотрела упомянутая в комментах слайд шоу : http://www.slideshare.net/billkarwin/sq ... trike-back с 32 кадра.
Да проблема, там описанная очень похожа на мою.
Вкратце суть:
когда архитектура сайта понятна заранее, все можно просчитать, и запланировать, все отлично.
Но... сайт динамично развивается - постоянно добавляются новые сущности - они все более или менее похожи - но тем не менее хранить их в одной таблице не всегда получается.
Для примера, картинки - если у каждой сущности одна картинка, то все ОК - мы ее предусмотрели, ну или добавили, в крайнем случае нужный столбец - но если у нас много картинок - ОК - добавляем связанную с этой сущностью таблицу Images - и опять живем дальше хорошо, пока в 10-ый раз не приходится это делать. А если вдруг, как вот у меня: решили всем сущностям добавить отзывы:
Хочется сделать одну таблицу и привязать ее к любой желаемой модели, причем, желательно не вносить в существующие модели изменения (Ну разве что написать, какое-то поведение или действие для сохранения и вывода связанных отзывов).
У меня получилась такая таблиц
Т.е. мы храним имя модели и ID модели для каждой записи (отзыва): При выборке - для конкретной модели делаем запрос вида:
Код: Выделить всё
SELECT * FROM reviews WHERE model="news" AND model_id = 222
Спасибо.