【发布时间】:2011-09-03 18:43:28
【问题描述】:
我知道我总是可以使用 MYSQL 模式设置唯一的 DB 键,但是我很好奇 ORM 的类似原则是否允许您将列设置为在代码中是唯一的?
例如,我怎样才能在代码中使用户名在运行时在代码中是唯一的?
CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(300) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(300) COLLATE utf8_unicode_ci NOT NULL,
`password` varchar(300) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
<?php
function insert_user($username,$email,$password)
{
$user = new User();
$user->setUsername($username); //HOW CAN I MAKE THIS UNIQUE IN CODE?
$user->setEmail($email);
$user->setPassword($password);
try {
//save to database
$this->em->persist($user);
$this->em->flush();
}
catch(Exception $err) {
die($err->getMessage());
return false;
}
return true;
}
【问题讨论】:
标签: php doctrine doctrine-orm