2015-02-05 5 views
0

Скажем, у меня есть модели User и PostМножественные отношения между двумя этими двумя моделями в CakePHP?

Очевидно, User hasMany Post

Но теперь я хочу, чтобы иметь подписку.

Создаю ли я отношения взаимоотношений с пользователем/сообщением, которые являются HABTM, в дополнение к отношениям, которые у них уже есть?

+0

Можете ли вы описать связь, которую вы хотите иметь для подписки? –

ответ

0

Я думаю, что вам нужно создать отношение, которое принадлежит пользователю для подписки. Я не вижу, что есть отношения HABTM

+0

Но оба сообщения и пользователь HABTM друг друга. Есть ли проблема с наличием нескольких отношений с одной и той же моделью? – itamar

+0

, если вы хотите сохранить информацию в таблице посередине, лучше всего: пользователь hasMany JoinTable принадлежит под подпискам, а не по подписке пользователя HABTM – ramboRam

0

Вы можете сделать это с помощью двух разных ассоциаций hasMany, новой ассоциации belongsTo или новой ассоциации HABTM. Это зависит от того, как вы хотите организовать и получить доступ к своим данным.

Чтобы ответить на вопрос, который вы задали в комментариях, да, возможно иметь несколько взаимосвязей между одним и тем же набором моделей. Пожалуйста, прочитайте: Multiple relations to the same model из книги «Торт».

0

Конечно, вы можете добавить более одного отношения к одной и той же модели. Вы Ханьшуй: Пользователь hasMany Сообщение Пользователь hasMany Подписка сообщение belongsTo Пользователь Подписка belongsTo Пользователь

На обоих направлениях вы можете получить сообщения и сообщения всех пользователей о том, что принадлежащие пользователям.

Смежные вопросы