0

私はDoctrineを初めて使用し、エンティティについて頭に浮かんだばかりです。これは素晴らしいことです。

メッセージに関する情報を含む2つのテーブルがあります。

Msg_linksには

  • msg_IDフィールド
  • to_user
  • is_read。

Msg_contentには

  • content_key
  • msg_text
  • from_user
  • time_stamp。

私のアプリケーションでメッセージが生成されるとき、そのメッセージが1ユーザーから1ユーザーの場合、両方のテーブルにコンテンツが生成され、表示されると、Msg_linksからのmsg_IDはcontent_keyに相対的です。

2人のユーザーにメッセージが送信された場合、msg_contentテーブルには1行しかありませんが、msg_linksには2行あります。それが理にかなっていることを願っています。

私のコードがメールを表示するとき、2つのテーブルをリンクする必要があります。これは、mysqlのVIEWまたは内部結合のいずれかを使用して以前に実行しました。

アソシエーションマッピングを正しく理解していれば、それは結合のエンティティのようなものです。どこか近く?

では、関連付けマッピングを理解してそれを使用する必要がありますか、それともquerybuilderを使用して結合する必要がありますか?

(CodeIgniter2も使用していることに注意してください)

4

1 に答える 1

0

Doctrine経由で参加します。

$query = $this->doctrine->em->createQuery("SELECT a.firstname, b.lastname FROM ORM\Testing\Firstnames a JOIN a.mylastname b WHERE b.id = $whichFamily");
于 2012-04-20T18:16:49.743 に答える