FOSUSER Bundle с несколькими пользователями + Наследование

Я использую PUGXMulti USer, это расширение для FOSUserBundle для обработки пользователей разных типов. Следуя документации "Шаг за шагом", я создал своего ПОЛЬЗОВАТЕЛЯ Entity, а 2 других Объекта (Драйвер, Клиент) расширяют Пользователь

/**@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;

Я создал FormType для ClientRegistration,

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

1 ответ

Как сказано здесь:

FOSUserBundle не предназначен для работы с наследованием сущностей (и вам, вероятно, следует избегать его, поскольку это снижает производительность для Doctrine, поскольку реляционные базы данных плохо хранят наследование)

Другие вопросы по тегам