Laravel 独特の雄弁なクエリ項目
-
21-12-2019 - |
質問
次のようなさまざまなアイテムで構成されるメッセージ スレッド (ソーシャル ネットワークでは一般的なもの) があるとします。
- テキストメッセージ
- ボイスメッセージ
- 画像
ここで、次のようなすべての threadItem をクエリするクエリがあると便利です。
thread->threadItems->orderBy('created_at')->get()
クライアント側でアイテムを表示するには、アイテムの種類を知る必要があるため、クエリのモデルにクラスをアタッチする必要があります。
Eloquent でこれを行う方法はありますか?ポリモーフィックな関係について考えたのは、テーブルにクラスが含まれるためです。上記の型はすべて threadItem ですが、共通の属性がないため、データベース層でモデルを分割することになるため、モデルごとに 1 つのテーブルを作成するのが合理的です。
これをエレガントに行う方法はありますか?
解決
Laravel 4.1 では、多対多のポリモーフィックな関係が導入されます。次に、ポリモーフィックな問題の「子」テキスト メッセージ、音声メッセージ、画像に関連する「親」メッセージ モデルを導入できますか?
関連情報の一部はここで見つけることができます。
所属していません StackOverflow