1

私はこれらのテーブルを持っています:

users - システム内のすべてのユーザーのリストが含まれています

- すべての車のリスト、列user_idがあります

car_views - 車のプロファイルにアクセスした人の数を追跡します。次の列があります。

- car_id
- ip

一定期間内にそれぞれのユーザーの車を見た人の数という情報を取得しようとしています。しかし、私の問題は、それぞれのユーザーから車のすべてのビューを取得する方法がわからないことです。

car_viewsテーブルに列user_idを配置する解決策がありますが、それは情報の重複でしょうか?

4

1 に答える 1

1

あなたはこのようなことができるはずです

user.cars.joins(:car_views).group('car_views.car_id').select('count(car_views.id) as count, car.name')

これがうまくいくかどうかはわかりませんが、試してみてください

于 2013-09-16T12:27:43.320 に答える