Но я хочу сделать систему регистрации без электронной почты.
В модели
Sonata\UserBundle\Model\User
Код: Выделить всё
protected ?string $email = null;
protected ?string $emailCanonical = null;
У меня есть класс User
Код: Выделить всё
namespace App\Entity;
use App\Repository\UserRepository;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\DBAL\Types\Types;
use Sonata\UserBundle\Entity\BaseUser;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
#[ORM\Entity( repositoryClass: UserRepository::class)]
#[ORM\Table( name: 'users')]
#[UniqueEntity(fields: ['username'], message: 'There is already an account with this username')]
class User extends BaseUser
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: Types::INTEGER)]
protected $id = null;
}
Код: Выделить всё
... email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL
... UNIQUE INDEX UNIQ_1483A5E9A0D96FBF ON users (email_canonical)');
Где написано, что они не обнуляются? Как это исправить?[/b]
Если я попытаюсь использовать аннотацию в своей сущности «Пользователь»:
Код: Выделить всё
#[ORM\Column(length: 255, nullable: true)]
protected ?string $email = null;
Код: Выделить всё
Duplicate definition of column 'email' on entity 'App\Entity\User' in a field or discriminator column mapping.
UPD: в проекте нет FOS. Symfony 6.4, PHP 8.3
Подробнее здесь: https://stackoverflow.com/questions/790 ... mail-field