【发布时间】:2012-04-24 19:04:26
【问题描述】:
我在 Doctrine 2.2 中使用类表继承模式。我的数据库架构如下:
家长
access_id(主键)
access_type(鉴别器列)
访问角色
access_acl
access_primary
user_id(外键)
孩子 1
access_id(外键)
account_id(外键)
孩子 2
access_id(外键)
分发者ID(外键)
当我尝试向数据库中插入一个新实体时,父查询看起来不错,但子查询有一个额外的参数。当我转储正在执行的查询时,这就是我所看到的:
INSERT INTO user_access_account (access_id, account_id) VALUES (?, ?)
array('1'=> 39, '2'=> NULL, '3'=> 3 )
'2' 索引是无关的。 '1' => 39, '2' => 3 是正确的参数。
用于执行此查询的代码如下:
$entity = new Entity\UserAccessAccount();
$entity->setAccount($account)
->setUser($user)
->setAccessRole($accessRole)
->setAccessAcl($accessAcl)
->setAccessPrimary($accessPrimary);
$em->persist($entity);
$em->flush($entity);
【问题讨论】:
-
您能发布一下您是如何创建查询的吗?
-
@devdRew 感谢您的回复。我发布了您要求的代码。
标签: php orm doctrine-orm class-table-inheritance