【发布时间】:2012-02-12 04:32:00
【问题描述】:
我有两个用 YAML 描述的表。
例如:
实体\用户: 类型:实体 表:用户 ID: ID: 类型:整数 发电机: 策略:自动 领域: 用户名: 类型:字符串 长度:64 一对多: 孩子们: 目标实体:用户到用户 映射者:父级 父母: 目标实体:用户到用户 映射者:孩子 实体\用户到用户: 类型:实体 表:user_to_user ID: ID: 类型:整数 发电机: 策略:自动 领域: 用户身份: 类型:整数 可为空:假 child_id: 类型:整数 可为空:假 多对一: 家长: 目标实体:用户 反转者:孩子们 加入列: 名称:user_id 引用的列名:id 孩子: 目标实体:用户 inversedBy: 父母 加入列: 名称:child_id 引用的列名:id在这种情况下,一切都很好,但实际上在表 user_to_user 中的数据库中没有字段的唯一索引:user_id 和 child_id。
因此可以添加 2 个具有相同值的条目。
我正在尝试添加约束
独特的约束: child_user_idx: 列:child_id,user_id或其他 2 种方式:
ID: 用户身份: 类型:整数 child_id: 类型:整数或
ID: 家长: 关联键:真 孩子: 关联键:真尝试组合这些选项,但结果使用理论控制台验证,每次都会出现错误,但生成的 SQL 正是我所需要的。
其中一个例如:
关联parent 的连接列必须匹配源实体Entities\UserToUser 的所有标识符列,但是缺少child_id。
- 关联
child的连接列必须与源实体Entities\UserToUser的所有标识符列匹配,但是缺少user_id。
我不太明白我必须添加什么才能正确通过验证
【问题讨论】:
-
您想通过该映射实现什么目标?您希望每个用户都有一个用户集合吗?以及作为“父”用户的属性?
-
我想找到使用 yaml 为 2 个外键添加唯一索引的解决方案
标签: doctrine-orm yaml