質問

次のようなさまざまなアイテムで構成されるメッセージ スレッド (ソーシャル ネットワークでは一般的なもの) があるとします。

  • テキストメッセージ
  • ボイスメッセージ
  • 画像

ここで、次のようなすべての threadItem をクエリするクエリがあると便利です。

thread->threadItems->orderBy('created_at')->get()

クライアント側でアイテムを表示するには、アイテムの種類を知る必要があるため、クエリのモデルにクラスをアタッチする必要があります。

Eloquent でこれを行う方法はありますか?ポリモーフィックな関係について考えたのは、テーブルにクラスが含まれるためです。上記の型はすべて threadItem ですが、共通の属性がないため、データベース層でモデルを分割することになるため、モデルごとに 1 つのテーブルを作成するのが合理的です。

これをエレガントに行う方法はありますか?

役に立ちましたか?

解決

Laravel 4.1 では、多対多のポリモーフィックな関係が導入されます。次に、ポリモーフィックな問題の「子」テキスト メッセージ、音声メッセージ、画像に関連する「親」メッセージ モデルを導入できますか?

関連情報の一部はここで見つけることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top