PUGXMultiUserBundle をインストールしました。/register/member または /register/repairer に移動して登録を送信すると、データベースに追加されるのは常に新しいメンバーです。理由がわかりません。しかし、config.yml でユーザーを切り替えると (最初に修復者、2 番目にメンバー)、データベースに追加されるのは修復者です。
config.yml
fos_user:
db_driver: orm
firewall_name: main
user_class: Test\UserBundle\Entity\User
service:
user_manager: pugx_user_manager
pugx_multi_user:
users:
user_member:
entity:
class: Test\UserBundle\Entity\Member
registration:
form:
type: FOS\UserBundle\Form\Type\RegistrationFormType
name: fos_user_registration_form
validation_groups: [Registration, Default]
template: FOSUserBundle:Registration:register.html.twig
profile:
form:
type: FOS\UserBundle\Form\Type\ProfileFormType
name: fos_user_profile_form
validation_groups: [Profile, Default]
user_repairer:
entity:
class: Test\UserBundle\Entity\Repairer
registration:
form:
type: FOS\UserBundle\Form\Type\RegistrationFormType
template: FOSUserBundle:Registration:register.html.twig
profile:
form:
type: FOS\UserBundle\Form\Type\ProfileFormType
ルーティング.yml
member_registration:
pattern: /register/member
defaults: { _controller: TestUserBundle:RegistrationMember:register }
repairer_registration:
pattern: /register/repairer
defaults: { _controller: TestUserBundle:RegistrationRepairer:register }
コントローラー1
use Symfony\Bundle\FrameworkBundle\Controller\Controller as BaseController;
class RegistrationMemberController extends BaseController
{
public function registerAction()
{
return $this->container
->get('pugx_multi_user.registration_manager')
->register('Test\UserBundle\Entity\Member');
}
}
コントローラー2
use Symfony\Bundle\FrameworkBundle\Controller\Controller as BaseController;
class RegistrationRepairerController extends BaseController
{
public function registerAction()
{
return $this->container
->get('pugx_multi_user.registration_manager')
->register('Test\UserBundle\Entity\Repairer');
}
}