我正在使用Zend Framework 2並創建了一個User Entity。現在我正在嘗試使用戶名字段唯一。但是,下面的錯誤即將到來。UniqueEntity using Doctrine 2
[Semantical Error] The annotation "@UniqueEntity" in class User\Entity\User was never imported. Did you maybe forget to add a "use" statement for this annotation?
我已經加入此代碼爲唯一性檢查
@UniqueEntity("email")
我可以看到,它是在使用的Symfony的方法。我如何將它用於Zend Framework 2?
這是我使用
<?php
namespace User\Entity;
use Doctrine\ORM\Mapping as ORM,
Zend\Form\Annotation;
/**
* A user entity.
*
* @ORM\Entity
* @ORM\Table(name="users")
* @UniqueEntity("email")
* @property int $id
* @property string $username
* @property string $email
* @property string $password
*
* @Annotation\Name("User")
*/
class User {
/**
* @ORM\Id
* @ORM\Column(type="integer");
* @ORM\GeneratedValue(strategy="AUTO")
*
* @Annotation\Required(false)
*/
protected $id;
/**
* @ORM\Column(type="string")
*
* @Annotation\Attributes({"type":"text"})
* @Annotation\Options({"label":"Username:"})
* @Annotation\Filter({"name":"StringTrim"})
* @Annotation\Filter({"name":"StripTags"})
*/
protected $username;
/**
* @ORM\Column(type="string")
*
* @Annotation\Attributes({"type":"text" })
* @Annotation\Options({"label":"Email:"})
* @Annotation\Filter({"name":"StringTrim"})
* @Annotation\Filter({"name":"StripTags"})
*/
protected $email;
/**
* @ORM\Column(type="string")
*
* @Annotation\Attributes({"type":"text" })
* @Annotation\Options({"label":"Password:"})
* @Annotation\Filter({"name":"StringTrim"})
* @Annotation\Filter({"name":"StripTags"})
*/
protected $password;
public function __get($property) {
return $this->$property;
}
/**
* Magic setter to save protected properties.
*
* @param string $property
* @param mixed $value
*/
public function __set($property, $value) {
$this->$property = $value;
}
public function getArrayCopy() {
return array(
'username' => $this->username,
'email' => $this->email,
'surname' => $this->surname,
'first_name' => $this->first_name,
'company' => $this->company,
'postcode' => $this->postcode,
);
}
public function populate($data) {
$this->username = isset($data['username']) ? $data['username'] : $this->username;
}
public function setDate($property, $value){
$this->$property = new \DateTime($value);
}
}
谷歌的2秒:(http://docs.doctrine-project.org/en/2.0.x/reference/annotations-reference.html#annref-uniqueconstraint – Sam
lol)))))))))) ) –