私はソーシャル Web サイトを構築しており、フィードがどのように機能するかを説明しています。ここで答えを使用したい:ソーシャルネットワークでアクティビティストリームを実装し、言及されたデータベース設計を実装する方法:
id
user_id (int)
activity_type (tinyint)
source_id (int)
parent_id (int)
parent_type (tinyint)
time (datetime but a smaller type like int would be better)
source_id
問題は、ベースの off をどのようにマッピングするのかわかりませんactivity_type
。ユーザーが登録する場合、登録したユーザーになりたいですsource_id
。誰かがグループを作成すると、それがグループにsource_id
なります。Symfony にこれを行う何らかの方法が組み込まれているかどうかを知りたかっただけです。
フィードをフェッチし、それactivity_type
が user_register である場合、追加のクエリを実行せずにソース (ユーザー) を取得するためにこれを実行できるようにしたいと考えています。
$feedEntity->getSource()->getUsername(); //getSource() being the User entity
source_type
が「user_post」の場合:
$feedEntity->getSource()->getMessage(); //getSource() being the UserPost entity
基本的に、このデータを保存して最速にする最善の方法を見つけたいだけです。