【发布时间】:2011-09-17 01:23:44
【问题描述】:
我有两张桌子:
以id为主键的A表
表 B 以 id 作为主键和外键
简短说明:
我需要在表 B 中有一个主键,它也是指向表 A 主键的外键。
谁能解释我如何通过 Doctrine 2 中的注释来映射它?
注意:
我试过了:
class A
{
/**
* @var bigint $id
*
* @Column(name="id", type="bigint", nullable=false)
* @Id
* @GeneratedValue(strategy="IDENTITY")
*/
private $a_id;
...
和B表:
class B
{
/**
* @var bigint $id
* @Id
* @OneToOne(targetEntity="A", fetch="LAZY")
* @JoinColumn(name="id", referencedColumnName="id")
*/
private $b_id;
...
但它给了我这个错误:
未捕获的异常 '教义\ORM\映射\映射异常' 带有消息'没有标识符/主要 为实体“B”指定的键。每一个 实体必须有一个标识符/主要 钥匙。'在 /var/www/agr-reg-php/Doctrine/ORM/Mapping/MappingException.php:37 堆栈跟踪:
注意:我不能有复合主键。
【问题讨论】:
标签: php orm foreign-keys primary-key doctrine-orm