Неизвестный столбец с FosUserBundle и PUGXMultiUserBundle

У меня проблема при регистрации пользователя, когда я использую FosUserBundle с Sylius и PUGXMultiUserBundle для создания более одного типа пользователя (Role):

User.php:

namespace Sylius\Bundle\CoreBundle\Model;

use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use FOS\UserBundle\Model\User as BaseUser;
use Sylius\Bundle\AddressingBundle\Model\AddressInterface;

/**
 * @ORM\Entity(repositoryClass="App\myBundle\Entity\UserRepository")
 * @ORM\Table(name="sylius_user")
 * @ORM\InheritanceType("JOINED")
 * @ORM\DiscriminatorColumn(name="user_type", type="string")
 * @ORM\DiscriminatorMap({"student" = "StudentUser", "partner" = "PartnerUser"})

 abstract class User extends BaseUser implements UserInterface
 {
protected $firstName;
protected $lastName;
protected $createdAt;
protected $updatedAt;
protected $currency;
protected $orders;
protected $billingAddress;
protected $shippingAddress;
protected $addresses;

.....

StudentUser.php:

use Doctrine\ORM\Mapping as ORM;
use PUGX\MultiUserBundle\Validator\Constraints\UniqueEntity;

use Sylius\Bundle\CoreBundle\Model\User;

/**
 * @ORM\Entity(repositoryClass="App\MyBundle\Entity\UserRepository")
 * @ORM\Table(name="sylius_user_staff")
 * @UniqueEntity(fields = "username", targetClass = "Sylius\Bundle\CoreBundle\Model\User", message="fos_user.username.already_used")
 * @UniqueEntity(fields = "email", targetClass = "Sylius\Bundle\CoreBundle\Model\User", message="fos_user.email.already_used")
 */
class StudentUser extends User
{
/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;

/**
 * Get id
 *
 * @return integer 
 */
public function getId()
{
    return $this->id;
}
} 

Поэтому, когда я хочу зарегистрировать нового студента, я получаю эту ошибку:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.username_canonical' in 'where clause' 

Это означает, что они напрямую не находят username_canonical в классе User.php (Sylius\Bundle\CoreBundle\Model), и он отказывается расширять его из-за User.php из FosUserBundle? У кого-нибудь есть решение, пожалуйста?

0 ответов

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