FOSUserBundle или PUGXMultiUserBundle для двух разных пользовательских профилей (Symfony2)
Я сомневаюсь, как подойти к этой проблеме:
Мое приложение Symfony2 для этой проблемы имеет два разных профиля: "Продавец" и "Покупатель". Цель состоит в том, чтобы сохранить кучу атрибутов о "Продавце", и, с другой стороны, не так уж много о "Покупателе" (электронная почта и пароль сделали бы это).
Я понимаю, что нелегко иметь две разные сущности, войти в систему и зарегистрироваться с помощью FOSUserBundle. Существует довольно много других пакетов, таких как PUGXMultiUserBundle, которые "взламывают" FOSUserBundle, и их нелегко настроить / реализовать.
Итак, мой вопрос: правильнее ли использовать хак, предложенный PUGXMultiUserBundle, касающийся его реализации и конфигурации, или лучше придерживаться FOSUserBundle, иметь сущность User и отношение один-к-одному с "Продавцом" Сущность, которая представляет атрибуты продавца, отличного от покупателя? При таком подходе возникнет еще одна проблема, связанная с регистрационной формой, которая должна быть разделена на две части, для реестра Продавца и Покупателя (который я не знаю, возможно ли это / желательно с помощью FOSUserBundle)
Я надеюсь, что вы, ребята, помогите мне понять это правильно. Ура:)
1 ответ
Я бы определенно использовал PUGXMultiUserBundle
для этого. Я не думаю, что это хак, он просто реализует таблицу дискриминации, которая будет выглядеть так:
1 таблица пользователей
----------------------------------------
| id | username | type |------------
|-----|-----------|--------|------------
| 1 | mgdepoo | buyer |------------
| 2 | Sydney_o9 | seller |------------
----------------------------------------
2 Таблица покупателя
----------------------------------------
| id | buyer_specific_field_1
|-----|---------------------------------
| 1 |
----------------------------------------
3 Стол продавца
----------------------------------------
| id | seller_specific_field_1
|-----|---------------------------------
| 2 |
----------------------------------------
Это все, что есть на самом деле.
Я думаю, что это именно то, что вам нужно, особенно если вы хотите иметь разные профили для своих пользователей. У вас также будет две регистрационные формы (но вы можете сделать одну с полем выбора покупателя / продавца, если хотите).
Я лично использую этот комплект, и он прекрасно работает для меня. Теперь один из вопросов, который вы могли бы задать себе, - что делать, если покупатель также хочет быть продавцом. Он хочет иметь другой адрес электронной почты? Это выбор, который вам придется сделать.