私は PUGXMulti USer を使用します。これは、さまざまなタイプのユーザーを処理するための FOSUserBundle の拡張機能です。ドキュメント STep by Step に従って、エンティティ USER を作成し、他の 2 つのエンティティ ( Driver 、 Client ) が User を拡張します。
/**@ORM\Entity
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({"user_one" = "Dali/FrontBundle/Driver", "user_two" = "Dali/FrontBundle/Client"})
*
*/
abstract class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id_user;
で始まるクライアント エンティティ:
* @ORM\Entity
* @ORM\Table(name="client")
*/
class Client extends User
{
/**
* @var string
*/
private $fnameClient;
ClientRegistration の FormType を作成しました。
class ClientFormType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('fnameClient');
$builder->add('username');
$builder->add('email');
問題は、フォームを送信したときにエラーが発生したことです。
An exception occurred while executing 'SELECT t1.username AS username2, t1.username_canonical AS username_canonical3, .... FROM client t1 WHERE t0.username_canonical = ?' with params ["az"]:
私の発言は、彼がwhere t0.username_canonical
t1.username_canonical の代わりにやろうとしている理由です