gpt4 book ai didi

doctrine-orm - 原则 2 中没有为实体指定标识符/主键

转载 作者:行者123 更新时间:2023-12-01 10:02:21 24 4
gpt4 key购买 nike

我正在使用 Zend 2 Framework 并尝试使用 Doctrine 2 获取数据。

然而,实体文件中出现以下错误。

Doctrine\ORM\Mapping\MappingException

没有为实体“Acl\Entity\Permission”指定标识符/主键。每个实体都必须有一个标识符/主键。

如何指定主键?

我正在使用以下代码。

/**
* 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;
}
}

最佳答案

你检查过了吗the docs

您可以使用 @ORM\Id 注释定义主键。如果值是自动生成的(例如,如果使用 auto_increment),您还需要设置 @ORM\GeneratedValue(strategy="IDENTITY") 注释。

关于doctrine-orm - 原则 2 中没有为实体指定标识符/主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14462618/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com