アクティビティアイテムを保存するための次のテーブル構造があります
id, trackable_id, trackable_type, owner_id, owner_type
trackable_id と trackable_type は、アクションが実行されるオブジェクト (エンティティ) を教えてくれます。たとえば、id=1 のユーザーが id=1 の写真を気に入った場合
id, trackable_id, trackable_type, owner_id, owner_type
1, 1, Picture, 1, User
同様に、別のユーザーが同じ写真を気に入ることができます。私のニュースフィードでは、ユーザーが実行したアクティビティを簡単に表示できますが、次のようなことを実現したいと考えています:
John and katy likes Picture.
それ以外の
John likes Picture
Kay likes Picture.
trackable_id と trackable_type に基づいて group by を実行する方法だと思いますが、1 行 (group by の期待される結果) が返されます。これまで group_concat を使用したことがありませんが、このような状況で役立ちますか? ありがとう!