Tôi biết tôi luôn có thể đặt một khóa DB duy nhất bằng cách sử dụng lược đồ MYSQL tuy nhiên tôi chỉ tò mò liệu học thuyết tương tự của ORM có cho phép bạn đặt một cột là duy nhất trong mã không?
Ví dụ: làm thế nào tôi có thể tạo nó trong mã để tên người dùng là mã duy nhất tại thời điểm chạy?
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;
}