我已经知道在Symfony 1和Doctrine 1中使用多个主键是不可能的,但是你们知道有什么好的解决方法吗?
答案 0 :(得分:1)
一个常见的解决方法是将auto_increment键添加到多对多解析程序表中,而不是定义关系,只需为表创建标准外键关系。只要你在两列上有一个索引,性能就可以了。
答案 1 :(得分:0)
除了多对多关系之外,doctrine1对多个列的主键不起作用。但是如果你想使用多对多关系,请使用它:
BlogPost:
columns:
user_id: integer
title: string(255)
body: clob
relations:
User:
local: user_id
foreign: id
type: one
foreignType: one
foreignAlias: BlogPosts
Tags:
class: Tag
foreignAlias: BlogPosts
refClass: BlogPostTag
local: blog_post_id
foreign: tag_id
Tag:
columns:
name: string(255)
BlogPostTag:
columns:
blog_post_id:
type: integer
primary: true
tag_id:
type: integer
primary: true
relations:
BlogPost:
local: blog_post_id
foreign: id
foreignAlias: BlogPostTags
Tag:
local: tag_id
foreign: id
foreignAlias: BlogPostTags
如果您不想/必须使用多对多关系,最好在多列上使用唯一键。