2012-05-07 11 views
0

Symfony 2とDoctrineが多対多の関係をどのように処理するのか理解し始めていますが、私は何かについているので、私は異なる意見を読んでいるようです。多対多リレーションシップはSymfony 2/Doctrineの "join entity"を必要としましたか?

私はAuthorエンティティとBookエンティティを多対多の関係で使用しています。私のデータベースで

は、私は基本的にはそれらを一緒に参加した(3つのテーブル、authorsテーブル、booksテーブル、およびauthors_booksテーブルでこれを表現する。

symfonyの2では、私もAuthorsBooksエンティティを作成します

答えて

2

著者と書籍の関連付け以外に何もない場合は、AuthorsBooksエンティティを作成する必要はありません。

現在、「単方向」または「双方向」の2つのオプションがあります。あなたはその(YML)のようなものがあるでしょう、直接単方向の場合here

Doctrine2のドキュメントでより多くの情報を見つけることができるでしょう:

Author: 
    type: entity 
    manyToMany: 
    bookList: 
     targetEntity: Group 
     joinTable: 
     name: authors_books 
      joinColumns: 
      user_id: 
       referencedColumnName: id 
      inverseJoinColumns: 
      book_id: 
       referencedColumnName: id 
+0

それはいくつかのより多くのオプションを提供cuzの私はこの答えを選んだのが、両方が素晴らしかった! – johnnietheblack

1

Symfonyはこれとは全く関係がありませんが、それは厳密にDoctrineのものですが、あなたは持っていません。 AuthorsBooksエンティティを作成します。Doctrineを正しく設定するだけです。すなわち、を使用してくださいは、2つのエンティティを結合するために使用するテーブルを指定します。

関連する問題