symfonyはメールフィールドをユニークとしてマークしていません。私はvalidation.ymlでそれを設定できますが、良い方法ではありません。symfonyが電子メールフィールドを一意としてマークしない理由を誰かが知っていますか?
既存のデータベースからエンティティを作成するために実行するコマンド:
php app/console doctrine:mapping:convert xml ./src/Frontend/AccountBundle/Resources/config/doctrine/metadata/orm --from-database --force
php app/console doctrine:mapping:import FrontendAccountBundle annotation
php app/console doctrine:generate:entities FrontendAccountBundle
私のテーブル:
CREATE TABLE `user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=22 ;
config /...../ User.orm.xml:
<field name="email" type="string" column="email" length="255" nullable="false"/>
Entity/User.php内
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=255, nullable=false)
*/
private $email;