Чтобы сформулировать вопрос, я являюсь дизайнером / разработчиком внешнего интерфейса и ищу несколько советов о том, как настроить мои модели. Я прочитал книгу Cake об ассоциациях, HABTM и hasMany, в частности, но все еще не совсем понял, что подходит для моих нужд.
Я создал приложение Cake со следующими моделями и простыми отношениями:
User hasMany Workout
User hasMany Shoe
Shoe hasMany Workout
Я хотел бы разрешить пользователям добавлять других пользователей в тренировку, поэтому User HABTM Workout. Добавление User2 к тренировке также создаст тренировку для User2.
I также хочет, чтобы User2 мог редактировать данные тренировки для себя, сохраняя связь (и данные User1). Например, Пользователь2 может указать свои собственные заметки или время для тренировки, отличное от заданного Пользователем 1.
Похоже, что ассоциация HABTM не разрешит часть подробностей, относящуюся к конкретному пользователю, но может ли многое из этого сделать? Могу ли я сделать что-то вроде этого:
User hasMany WorkoutDetail
Workout hasMany WorkoutDetail
User hasMany Shoe
Shoe hasMany Workout
где WorkoutDetail хранит все индивидуальные данные для каждой тренировки для каждого пользователя?
спасибо