2017-07-28 21 views
0

私はusers,meetingscommentsのテーブルを持っており、ユーザーがユーザーのプロファイルや会議にコメントを投稿できるようにしたいと考えています。Laravel多対多関係

私はユーザーとコメントテーブルの1対多のリレーションシップを作成する方法を知っていますが、すべてのコメントを1つのテーブルに保存し、ユーザーのプロファイルと会議に関するコメントを表示します。

これは私のテーブル構造である:コメントを保存中

users 
id 
name 
comment_id 

meetings 
id 
name 

comments 
id 
user_id 
comment 

答えて

1

TLを識別するためにmodel(またはあなたが好き誰)という名前のフィールドを保つ; DR解決策はLaravelが本当に簡単になるpolymorphic relationshipsを使用することです。

IMHO多対多の関係が仕事をするとは思わない。

  • ユーザーは複数のコメントを投稿できます。 OK
  • コメントは複数のユーザーに属することができます。奇妙な
  • 会議は複数のコメントを持つことができます。 OK
  • コメントは複数の会議に属することができます。奇妙な

プラスそれを達成するためには、おそらく2つのテーブルが必要になります。たとえば、comment_userテーブルとcomment_meetingです。

あなたの状況に最も適合する種類の関係は、多形性です。名前は古代ギリシャから来ているので恐ろしいことがあります。しかし、その名前の背後にある概念は非常に単純です。そしてLaravelはpolymorphic relationshipsをとても簡単にします。あなたはLaravelのドキュメントに書かれている例であなたの状況を確かに認識します;)

0

、またusers profilemeetings

HTH