Aucun identifiant primaire/clé spécifiée pour l'Entité dans la doctrine 2
Je suis à l'aide de Zend 2 et je suis en train d'essayer de récupérer les données avec Doctrine 2.
Cependant l'erreur suivante est à venir dans la fiche d'Entité.
Doctrine\ORM\Mapping\MappingException
Aucun identifiant primaire/clé spécifiée pour l'Entité "Acl\Entity\Autorisation". Chaque Entité doit avoir un identifiant/clé primaire.
Comment puis-je spécifier la clé primaire?
Je suis en utilisant le code suivant.
/**
* User Permissions
*
* @ORM\Entity
* @ORM\Table(name="acl_permissions")
* @property int $id
* @property int $role_id
* @property int $resource_id
* @property string $action
*/
class Permission
{
/**
* @ORM\Column(type="integer")
*/
public $id;
/**
* @ORM\Column(type="integer")
* @ORM\OneToOne(targetEntity="Role")
* @ORM\JoinColumn(name="role_id", referencedColumnName="id")
*/
public $role;
/**
* @ORM\Column(type="integer")
* @ORM\OneToOne(targetEntity="Resource")
* @ORM\JoinColumn(name="resource_id", referencedColumnName="id")
*/
public $resource;
/**
* @ORM\Column(type="string")
*/
public $action;
public function getRole()
{
return $this->role;
}
public function getResource()
{
return $this->resource;
}
}
OriginalL'auteur Tayyab Shabab | 2013-01-22
Vous devez vous connecter pour publier un commentaire.
Avez-vous vérifié les docs?
Vous pouvez définir une clé primaire à l'aide de la
@ORM\Id
annotation. Dans le cas où la valeur est générée automatiquement (par exemple, si vous utilisezauto_increment
), vous devez également définir la@ORM\GeneratedValue(strategy="IDENTITY")
annotation.@ORM\Id
OriginalL'auteur Daniel M