CakePHP пользователи, группы и данные, принадлежащие пользователям - PullRequest
1 голос
/ 15 января 2010

Я создаю приложение CakePHP, которое требует администраторов, пользователей и продавцов. Торговцы должны иметь профиль. Пользователи должны будут предоставить различную информацию для своего профиля.

В настоящее время у меня есть пользовательская модель, обрабатывающая логин с включенным ACL.

Это все работает нормально.

Что я не могу обернуть вокруг себя, так это как мне управлять наличием другого профиля для продавцов и другого профиля для пользователей?

Типичным сценарием веб-сайта будет просто «профиль пользователя hasOne», но мне нужны разные профили в зависимости от типа группы.

Не могу понять, как связать разные наборы данных с пользователями в зависимости от их группы.

1 Ответ

1 голос
/ 15 января 2010

Если все ваши пользователи / продавцы / администраторы используют одну и ту же модель пользователя, полиморфное отношение belongsTo к различным моделям профилей должно быть правильным. То есть Вы создаете три разные модели профиля, такие как UserProfile, MerchantProfile и AdminProfile. В вашей пользовательской модели у вас есть два поля: profile_class и profile_foreign_key и запись данных, таких как profile_class: Merchant, profile_foreign_key: 42.

Также см. этот вопрос.

В качестве альтернативы вы просто связываете модель User со всеми тремя моделями профилей в нормальном hasOne отношении (где внешний ключ входит в модели профиля), но это может усложнить ситуацию.

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