私はすでにそれがsymfonyの1とDoctrine 1で複数の主キーで作業することはできません知っているが、君たちは何か良い回避方法を知っていますか?複数のcolumsを超える主キーとの良好な動作しませんdoctrine1多対多の関係の他にDoctrine 1とSymfony 1の複数の主キー?
0
A
答えて
0
。あなたが複数の列の上に一意のキーを使用する多対多の関係のより良いを使用する必要があります/たくない場合は
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
:あなたが使用したい場合はしかし、多対多の関係はこのようにそれを使用しています。
1
共通問題を回避するには、多対多のリゾルバテーブルにAUTO_INCREMENTキーを追加し、よりもむしろ関係を定義する必要があり、ちょうどテーブルに標準の外部キー関係を作ることです。あなたが2つの列にインデックスを持っている限り、パフォーマンスは上手くいくでしょう。
+0
通常これを処理する最も良い方法です。 –
テーブルに定義できる主キーは1つだけです。 –
@ダン:しかし、あなたは複数の列に主キーを作ることができます。私は彼が必要とするものだと思う。 – scube